<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml" lang="en">

<head>
  <link href='https://fonts.googleapis.com/css?family=Inconsolata' rel='stylesheet' type='text/css' /><title>4.0 Changelog &mdash; MongoDB Manual</title><link rel="shortcut icon" href="https://media.mongodb.org/favicon.ico" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="robots" content="index" />

  <meta name="release" content="4.2.5"/>
  <meta name="version" content="4.2"/>
  <meta name="DC.Source" content="https://github.com/mongodb/docs/blob/v4.2/source/release-notes/4.0-changelog.txt"/>
  <meta property="og:image" content="http://s3.amazonaws.com/info-mongodb-com/_com_assets/cms/mongodb-for-giant-ideas-bbab5c3cf8.png">
  <meta property="og:image:secure_url" content="https://webassets.mongodb.com/_com_assets/cms/mongodb-for-giant-ideas-bbab5c3cf8.png">
      <link rel="canonical" href="https://docs.mongodb.com/manual/release-notes/4.0-changelog" />
  
   <link rel="stylesheet" href="../_static/mongodb-docs.css" type="text/css" />
   <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
   <link rel="stylesheet" href="../_static/css/navbar.min.css" type="text/css" />
    
    <script type="text/javascript" src="../_static/lib/jquery.min.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/lib/bootstrap.js"></script>
    <script type="text/javascript" src="../_static/lib/jquery.cookie.js"></script>
    <script type="text/javascript" src="../_static/controller.js"></script>
      <link rel="search" type="application/opensearchdescription+xml" href="https://docs.mongodb.com/osd.xml" title="MongoDB Help"/>
<link rel="author" title="About these documents" href="../about.html" />
<!-- <link rel="index" title="Index" href="../genindex.html" /> -->
<link rel="search" title="Search" href="../search.html" />
<link rel="top" title="MongoDB Manual" href="../index.html" />
<link rel="up" title="Release Notes for MongoDB 4.0" href="4.0.html" />
<link rel="next" title="Release Notes for MongoDB 3.6" href="3.6.html" />
<link rel="prev" title="Downgrade 4.0 Sharded Cluster to 3.6" href="4.0-downgrade-sharded-cluster.html" /><script type='text/javascript'>
   var gptadslots=[];
   var googletag = googletag || {};
   googletag.cmd = googletag.cmd || [];
   (function(){ var gads = document.createElement('script');
      gads.async = true; gads.type = 'text/javascript';
      var useSSL = 'https:' == document.location.protocol;
      gads.src = (useSSL ? 'https:' : 'http:') + '//www.googletagservices.com/tag/js/gpt.js';
      var node = document.getElementsByTagName('script')[0];
      node.parentNode.insertBefore(gads, node);
   })();
</script>

<script type="text/javascript">
   googletag.cmd.push(function() {

      var pathname = location.href;
      
      if ( (pathname.indexOf("auth") >= 0) || (pathname.indexOf("security") >= 0) ) {
         gptadslots[1]= googletag.defineSlot('/40039723/docs.mongodb.org/security', [[160,600],[243,202],[293,244]],'mongodb-docs-1').addService(googletag.pubads());
      } else if ( (pathname.indexOf("crud") >= 0) ||  (pathname.indexOf("query") >= 0) || (pathname.indexOf("insert") >= 0) || (pathname.indexOf("update") >= 0) || (pathname.indexOf("remove") >= 0) || (pathname.indexOf("delete") >= 0) || (pathname.indexOf("aggregation") >= 0) ) {
         gptadslots[1]= googletag.defineSlot('/40039723/docs.mongodb.org/crud', [[160,600],[243,202],[293,244]],'mongodb-docs-1').addService(googletag.pubads());
      } else if (pathname.indexOf("shard") >= 0) {
         gptadslots[1]= googletag.defineSlot('/40039723/docs.mongodb.org/sharding', [[160,600],[243,202],[293,244]],'mongodb-docs-1').addService(googletag.pubads());
      } else if (pathname.indexOf("replica") >= 0) {
         gptadslots[1]= googletag.defineSlot('/40039723/docs.mongodb.org/replication', [[160,600],[243,202],[293,244]],'mongodb-docs-1').addService(googletag.pubads());
      } else if (pathname.indexOf("model") >= 0) {
         gptadslots[1]= googletag.defineSlot('/40039723/docs.mongodb.org/data-modeling', [[160,600],[243,202],[293,244]],'mongodb-docs-1').addService(googletag.pubads());
      } else if (pathname.indexOf("administration") >= 0) {
         gptadslots[1]= googletag.defineSlot('/40039723/docs.mongodb.org/support', [[160,600],[243,202],[293,244]],'mongodb-docs-1').addService(googletag.pubads());
      } else if (pathname.indexOf("install-mongodb-on-windows") >= 0) {
         gptadslots[1]= googletag.defineSlot('/40039723/docs.mongodb.org/install-mongodb-on-windows', [160, 600], 'mongodb-docs-1').addService(googletag.pubads());
      } else if (pathname.indexOf("tutorial/getting-started") >= 0) {
         gptadslots[1]= googletag.defineSlot('/40039723/docs.mongodb.org/docs_server_gettingstarted', [160, 600], 'mongodb-docs-1').addService(googletag.pubads());
      } else {
         //Adslot 1 declaration
         gptadslots[1]= googletag.defineSlot('/40039723/docs.mongodb.org', [[160,600],[243,202],[293,244]],'mongodb-docs-1').addService(googletag.pubads());
      }
      googletag.pubads().enableSingleRequest();
      googletag.pubads().enableAsyncRendering();
      googletag.enableServices();
   });
</script></head>
<body data-project="manual" data-project-title="MongoDB Manual" data-branch="v4.2" data-enable-marian=1>
  <!-- Google Tag Manager -->
  <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-JQHP"
                    height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
  <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push(
     {'gtm.start': new Date().getTime(),event:'gtm.js'}
   );var f=d.getElementsByTagName(s)[0],
   j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
   '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
   })(window,document,'script','dataLayer','GTM-JQHP');</script>
  <!-- End Google Tag Manager -->
<div id="navbar" data-navprops='{"links": [{"url": "https://docs.mongodb.com/manual/","text": "Server","active": true},{"url": "https://docs.mongodb.com/ecosystem/drivers/","text": "Drivers"},{"url": "https://docs.mongodb.com/cloud/","text": "Cloud"},{"url": "https://docs.mongodb.com/tools/","text": "Tools"},{"url": "https://docs.mongodb.com/guides/","text": "Guides"}]}'></div>
      <script>
        window.googleSearchCx = "017213726194841070573:WMX6838984"
	window.googleSearchPlaceholder = "Search Documentation"
        window.googleSearchResultsUrl = "http://docs.mongodb.com/manual/search/"
      </script>
    <script src="../_static/navbar.min.js"></script>
  

  <div class="content" >

   <div id="left-column">
         <aside id="sidebar" class="sidebar">
             
  <div class="sphinxsidebar" id="sphinxsidebar">
    <div id="sphinxsidebarwrapper" class="sphinxsidebarwrapper"><a href="javascript:void(0)" class="closeNav" id="closeNav">Close &times;</a>


<h3>
  <a class="index-link" href="../index.html">MongoDB Manual</a>
</h3>


    <div class="btn-group version-sidebar">
      <button type="button" class="version-button dropdown-toggle" data-toggle="dropdown">
        
        
        Version 4.2 (current)<span class="caret"></span>
      </button>
      <ul class="dropdown-menu" role="menu">
        
          
          <li>
          
            <a class="version-selector" href="#" data-path="master">
              
              Version 4.4 (upcoming)
            </a>
          </li>
        
          
          <li class="active">
          
            <a href="#" data-path="manual">
              
              Version 4.2 (current)
            </a>
          </li>
        
          
          <li>
          
            <a class="version-selector" href="#" data-path="v4.0">
              
              Version 4.0
            </a>
          </li>
        
          
          <li>
          
            <a class="version-selector" href="#" data-path="v3.6">
              
              Version 3.6
            </a>
          </li>
        
          
          <li>
          
            <a class="version-selector" href="#" data-path="v3.4">
              
              Version 3.4
            </a>
          </li>
        
          
          <li>
          
            <a class="version-selector" href="#" data-path="v3.2">
              
              Version 3.2
            </a>
          </li>
        
          
          <li>
          
            <a class="version-selector" href="#" data-path="v3.0">
              
              Version 3.0
            </a>
          </li>
        
          
          <li>
          
            <a class="version-selector" href="#" data-path="v2.6">
              
              Version 2.6
            </a>
          </li>
        
          
          <li>
          
            <a class="version-selector" href="#" data-path="v2.4">
              
              Version 2.4
            </a>
          </li>
        
          
          <li>
          
            <a class="version-selector" href="#" data-path="v2.2">
              
              Version 2.2
            </a>
          </li>
        
      </ul>
    </div>


<ul class="current"><li class="toctree-l1"><a class="reference internal" href="../introduction.html">Introduction</a><ul><li class="toctree-l2"><a class="reference internal" href="../tutorial/getting-started.html">Getting Started</a></li><li class="toctree-l2"><a class="reference external" href="https://docs.atlas.mongodb.com/getting-started/">Create an Atlas Free Tier Cluster</a></li><li class="toctree-l2"><a class="reference internal" href="../core/databases-and-collections.html">Databases and Collections</a><ul><li class="toctree-l3"><a class="reference internal" href="../core/views.html">Views</a></li><li class="toctree-l3"><a class="reference internal" href="../core/materialized-views.html">On-Demand Materialized Views</a></li><li class="toctree-l3"><a class="reference internal" href="../core/capped-collections.html">Capped Collections</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/document.html">Documents</a></li><li class="toctree-l2"><a class="reference internal" href="../reference/bson-types.html">BSON Types</a><ul><li class="toctree-l3"><a class="reference internal" href="../reference/bson-type-comparison-order.html">Comparison/Sort Order</a></li><li class="toctree-l3"><a class="reference internal" href="../reference/mongodb-extended-json.html">MongoDB Extended JSON (v2)</a></li><li class="toctree-l3"><a class="reference internal" href="../reference/mongodb-extended-json-v1.html">MongoDB Extended JSON (v1)</a></li></ul></li></ul></li><li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a><ul><li class="toctree-l2"><a class="reference internal" href="../administration/install-community.html">Install MongoDB Community Edition</a><ul><li class="toctree-l3"><a class="reference internal" href="../administration/install-on-linux.html">Install on Linux</a><ul><li class="toctree-l4"><a class="reference internal" href="../tutorial/install-mongodb-on-red-hat.html">Install on Red Hat</a><ul><li class="toctree-l5"><a class="reference internal" href="../tutorial/install-mongodb-on-red-hat-tarball.html">Install using .tgz Tarball</a></li></ul></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/install-mongodb-on-ubuntu.html">Install on Ubuntu</a><ul><li class="toctree-l5"><a class="reference internal" href="../tutorial/install-mongodb-on-ubuntu-tarball.html">Install using .tgz Tarball</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/installation-ubuntu-community-troubleshooting.html">Troubleshoot Ubuntu Installation</a></li></ul></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/install-mongodb-on-debian.html">Install on Debian</a><ul><li class="toctree-l5"><a class="reference internal" href="../tutorial/install-mongodb-on-debian-tarball.html">Install using .tgz Tarball</a></li></ul></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/install-mongodb-on-suse.html">Install on SUSE</a><ul><li class="toctree-l5"><a class="reference internal" href="../tutorial/install-mongodb-on-suse-tarball.html">Install using .tgz Tarball</a></li></ul></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/install-mongodb-on-amazon.html">Install on Amazon</a><ul><li class="toctree-l5"><a class="reference internal" href="../tutorial/install-mongodb-on-amazon-tarball.html">Install using .tgz Tarball</a></li></ul></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/install-mongodb-on-os-x.html">Install on macOS</a><ul><li class="toctree-l4"><a class="reference internal" href="../tutorial/install-mongodb-on-os-x-tarball.html">Install using .tgz Tarball</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/install-mongodb-on-windows.html">Install on Windows</a><ul><li class="toctree-l4"><a class="reference internal" href="../tutorial/install-mongodb-on-windows-unattended.html">Install using msiexec.exe</a></li></ul></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../administration/install-enterprise.html">Install MongoDB Enterprise</a><ul><li class="toctree-l3"><a class="reference internal" href="../administration/install-enterprise-linux.html">Install on Linux</a><ul><li class="toctree-l4"><a class="reference internal" href="../tutorial/install-mongodb-enterprise-on-red-hat.html">Install on Red Hat</a><ul><li class="toctree-l5"><a class="reference internal" href="../tutorial/install-mongodb-enterprise-on-red-hat-tarball.html">Install using .tgz Tarball</a></li></ul></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/install-mongodb-enterprise-on-ubuntu.html">Install on Ubuntu</a><ul><li class="toctree-l5"><a class="reference internal" href="../tutorial/install-mongodb-enterprise-on-ubuntu-tarball.html">Install using .tgz Tarball</a></li></ul></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/install-mongodb-enterprise-on-debian.html">Install on Debian</a><ul><li class="toctree-l5"><a class="reference internal" href="../tutorial/install-mongodb-enterprise-on-debian-tarball.html">Install using .tgz Tarball</a></li></ul></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/install-mongodb-enterprise-on-suse.html">Install on SUSE</a><ul><li class="toctree-l5"><a class="reference internal" href="../tutorial/install-mongodb-enterprise-on-suse-tarball.html">Install using .tgz Tarball</a></li></ul></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/install-mongodb-enterprise-on-amazon.html">Install on Amazon</a><ul><li class="toctree-l5"><a class="reference internal" href="../tutorial/install-mongodb-enterprise-on-amazon-tarball.html">Install using .tgz Tarball</a></li></ul></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/install-mongodb-enterprise-on-os-x.html">Install on macOS</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/install-mongodb-enterprise-on-windows.html">Install on Windows</a><ul><li class="toctree-l4"><a class="reference internal" href="../tutorial/install-mongodb-enterprise-on-windows-unattended.html">Install using msiexec.exe</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/install-mongodb-enterprise-with-docker.html">Install with Docker</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../administration/upgrade-community-to-enterprise.html">Upgrade MongoDB Community to MongoDB Enterprise</a><ul><li class="toctree-l3"><a class="reference internal" href="../tutorial/upgrade-to-enterprise-standalone.html">Upgrade to MongoDB Enterprise (Standalone)</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/upgrade-to-enterprise-replica-set.html">Upgrade to MongoDB Enterprise (Replica Set)</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/upgrade-to-enterprise-sharded-cluster.html">Upgrade to MongoDB Enterprise (Sharded Cluster)</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../tutorial/verify-mongodb-packages.html">Verify Integrity of MongoDB Packages</a></li></ul></li><li class="toctree-l1"><a class="reference internal" href="../mongo.html">The <code class="docutils literal"><span class="pre">mongo</span></code> Shell</a><ul><li class="toctree-l2"><a class="reference internal" href="../tutorial/configure-mongo-shell.html">Configure the <code class="docutils literal"><span class="pre">mongo</span></code> Shell</a></li><li class="toctree-l2"><a class="reference internal" href="../tutorial/access-mongo-shell-help.html">Access the <code class="docutils literal"><span class="pre">mongo</span></code> Shell Help</a></li><li class="toctree-l2"><a class="reference internal" href="../tutorial/write-scripts-for-the-mongo-shell.html">Write Scripts for the <code class="docutils literal"><span class="pre">mongo</span></code> Shell</a></li><li class="toctree-l2"><a class="reference internal" href="../core/shell-types.html">Data Types in the <code class="docutils literal"><span class="pre">mongo</span></code> Shell</a></li><li class="toctree-l2"><a class="reference internal" href="../reference/mongo-shell.html"><code class="docutils literal"><span class="pre">mongo</span></code> Shell Quick Reference</a></li></ul></li><li class="toctree-l1"><a class="reference internal" href="../crud.html">MongoDB CRUD Operations</a><ul><li class="toctree-l2"><a class="reference internal" href="../tutorial/insert-documents.html">Insert Documents</a><ul><li class="toctree-l3"><a class="reference internal" href="../reference/insert-methods.html">Insert Methods</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../tutorial/query-documents.html">Query Documents</a><ul><li class="toctree-l3"><a class="reference internal" href="../tutorial/query-embedded-documents.html">Query on Embedded/Nested Documents</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/query-arrays.html">Query an Array</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/query-array-of-documents.html">Query an Array of Embedded Documents</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/project-fields-from-query-results.html">Project Fields to Return from Query</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/query-for-null-fields.html">Query for Null or Missing Fields</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/iterate-a-cursor.html">Iterate a Cursor in the <code class="docutils literal"><span class="pre">mongo</span></code> Shell</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../tutorial/update-documents.html">Update Documents</a><ul><li class="toctree-l3"><a class="reference internal" href="../tutorial/update-documents-with-aggregation-pipeline.html">Updates with Aggregation Pipeline</a></li><li class="toctree-l3"><a class="reference internal" href="../reference/update-methods.html">Update Methods</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../tutorial/remove-documents.html">Delete Documents</a><ul><li class="toctree-l3"><a class="reference internal" href="../reference/delete-methods.html">Delete Methods</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/bulk-write-operations.html">Bulk Write Operations</a></li><li class="toctree-l2"><a class="reference internal" href="../core/retryable-writes.html">Retryable Writes</a></li><li class="toctree-l2"><a class="reference internal" href="../reference/sql-comparison.html">SQL to MongoDB Mapping Chart</a></li><li class="toctree-l2"><a class="reference internal" href="../text-search.html">Text Search</a><ul><li class="toctree-l3"><a class="reference internal" href="../core/link-text-indexes.html">Text Indexes</a></li><li class="toctree-l3"><a class="reference internal" href="../core/text-search-operators.html">Text Search Operators</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/text-search-in-aggregation.html">Text Search in the Aggregation Pipeline</a></li><li class="toctree-l3"><a class="reference internal" href="../reference/text-search-languages.html">Text Search Languages</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../geospatial-queries.html">Geospatial Queries</a><ul><li class="toctree-l3"><a class="reference internal" href="../tutorial/geospatial-tutorial.html">Find Restaurants with Geospatial Queries</a></li><li class="toctree-l3"><a class="reference internal" href="../reference/geojson.html">GeoJSON Objects</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../reference/read-concern.html">Read Isolation (Read Concern)</a><ul><li class="toctree-l3"><a class="reference internal" href="../reference/read-concern-local.html">Read Concern <code class="docutils literal"><span class="pre">&quot;local&quot;</span></code></a></li><li class="toctree-l3"><a class="reference internal" href="../reference/read-concern-available.html">Read Concern <code class="docutils literal"><span class="pre">&quot;available&quot;</span></code></a></li><li class="toctree-l3"><a class="reference internal" href="../reference/read-concern-majority.html">Read Concern <code class="docutils literal"><span class="pre">&quot;majority&quot;</span></code></a></li><li class="toctree-l3"><a class="reference internal" href="../reference/read-concern-linearizable.html">Read Concern <code class="docutils literal"><span class="pre">&quot;linearizable&quot;</span></code></a></li><li class="toctree-l3"><a class="reference internal" href="../reference/read-concern-snapshot.html">Read Concern <code class="docutils literal"><span class="pre">&quot;snapshot&quot;</span></code></a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../reference/write-concern.html">Write Acknowledgement (Write Concern)</a></li><li class="toctree-l2"><a class="reference internal" href="../core/crud.html">MongoDB CRUD Concepts</a><ul><li class="toctree-l3"><a class="reference internal" href="../core/write-operations-atomicity.html">Atomicity and Transactions</a></li><li class="toctree-l3"><a class="reference internal" href="../core/read-isolation-consistency-recency.html">Read Isolation, Consistency, and Recency</a><ul><li class="toctree-l4"><a class="reference internal" href="../core/causal-consistency-read-write-concerns.html">Causal Consistency and Read and Write Concerns</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../core/distributed-queries.html">Distributed Queries</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/perform-findAndModify-linearizable-reads.html">Linearizable Reads via <code class="docutils literal"><span class="pre">findAndModify</span></code></a></li><li class="toctree-l3"><a class="reference internal" href="../core/query-plans.html">Query Plans</a></li><li class="toctree-l3"><a class="reference internal" href="../core/query-optimization.html">Query Optimization</a><ul><li class="toctree-l4"><a class="reference internal" href="../tutorial/evaluate-operation-performance.html">Evaluate Performance of Current Operations</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/optimize-query-performance-with-indexes-and-projections.html">Optimize Query Performance</a></li><li class="toctree-l4"><a class="reference internal" href="../core/write-performance.html">Write Operation Performance</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/explain-results.html">Explain Results</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/analyze-query-plan.html">Analyze Query Performance</a></li><li class="toctree-l3"><a class="reference internal" href="../core/tailable-cursors.html">Tailable Cursors</a></li></ul></li></ul></li><li class="toctree-l1"><a class="reference internal" href="../aggregation.html">Aggregation</a><ul><li class="toctree-l2"><a class="reference internal" href="../core/aggregation-pipeline.html">Aggregation Pipeline</a><ul><li class="toctree-l3"><a class="reference internal" href="../core/aggregation-pipeline-optimization.html">Aggregation Pipeline Optimization</a></li><li class="toctree-l3"><a class="reference internal" href="../core/aggregation-pipeline-limits.html">Aggregation Pipeline Limits</a></li><li class="toctree-l3"><a class="reference internal" href="../core/aggregation-pipeline-sharded-collections.html">Aggregation Pipeline and Sharded Collections</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/aggregation-zip-code-data-set.html">Example with ZIP Code Data</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/aggregation-with-user-preference-data.html">Example with User Preference Data</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/map-reduce.html">Map-Reduce</a><ul><li class="toctree-l3"><a class="reference internal" href="../core/map-reduce-sharded-collections.html">Map-Reduce and Sharded Collections</a></li><li class="toctree-l3"><a class="reference internal" href="../core/map-reduce-concurrency.html">Map-Reduce Concurrency</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/map-reduce-examples.html">Map-Reduce Examples</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/perform-incremental-map-reduce.html">Perform Incremental Map-Reduce</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/troubleshoot-map-function.html">Troubleshoot the Map Function</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/troubleshoot-reduce-function.html">Troubleshoot the Reduce Function</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../reference/aggregation.html">Aggregation Reference</a><ul><li class="toctree-l3"><a class="reference internal" href="../meta/aggregation-quick-reference.html">Aggregation Pipeline Quick Reference</a></li><li class="toctree-l3"><a class="reference internal" href="../reference/operator/aggregation/interface.html">Aggregation Commands</a></li><li class="toctree-l3"><a class="reference internal" href="../reference/aggregation-commands-comparison.html">Aggregation Commands Comparison</a></li><li class="toctree-l3"><a class="reference internal" href="../reference/aggregation-variables.html">Variables in Aggregation Expressions</a></li><li class="toctree-l3"><a class="reference internal" href="../reference/sql-aggregation-comparison.html">SQL to Aggregation Mapping Chart</a></li></ul></li></ul></li><li class="toctree-l1"><a class="reference internal" href="../data-modeling.html">Data Models</a><ul><li class="toctree-l2"><a class="reference internal" href="../core/data-modeling-introduction.html">Data Modeling Introduction</a></li><li class="toctree-l2"><a class="reference internal" href="../core/schema-validation.html">Schema Validation</a></li><li class="toctree-l2"><a class="reference internal" href="../core/data-models.html">Data Modeling Concepts</a><ul><li class="toctree-l3"><a class="reference internal" href="../core/data-model-design.html">Data Model Design</a></li><li class="toctree-l3"><a class="reference internal" href="../core/data-model-operations.html">Operational Factors and Data Models</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../applications/data-models.html">Data Model Examples and Patterns</a><ul><li class="toctree-l3"><a class="reference internal" href="../applications/data-models-relationships.html">Model Relationships Between Documents</a><ul><li class="toctree-l4"><a class="reference internal" href="../tutorial/model-embedded-one-to-one-relationships-between-documents.html">Model One-to-One Relationships with Embedded Documents</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/model-embedded-one-to-many-relationships-between-documents.html">Model One-to-Many Relationships with Embedded Documents</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/model-referenced-one-to-many-relationships-between-documents.html">Model One-to-Many Relationships with Document References</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../applications/data-models-tree-structures.html">Model Tree Structures</a><ul><li class="toctree-l4"><a class="reference internal" href="../tutorial/model-tree-structures-with-parent-references.html">Model Tree Structures with Parent References</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/model-tree-structures-with-child-references.html">Model Tree Structures with Child References</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/model-tree-structures-with-ancestors-array.html">Model Tree Structures with an Array of Ancestors</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/model-tree-structures-with-materialized-paths.html">Model Tree Structures with Materialized Paths</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/model-tree-structures-with-nested-sets.html">Model Tree Structures with Nested Sets</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../applications/data-models-applications.html">Model Specific Application Contexts</a><ul><li class="toctree-l4"><a class="reference internal" href="../tutorial/model-data-for-atomic-operations.html">Model Data for Atomic Operations</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/model-data-for-keyword-search.html">Model Data to Support Keyword Search</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/model-data-for-schema-versioning.html">Model Data for Schema Versioning</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/model-monetary-data.html">Model Monetary Data</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/model-time-data.html">Model Time Data</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/model-computed-data.html">Model Computed Data</a></li></ul></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../reference/data-models.html">Data Model Reference</a><ul><li class="toctree-l3"><a class="reference internal" href="../reference/database-references.html">Database References</a></li></ul></li></ul></li><li class="toctree-l1"><a class="reference internal" href="../core/transactions.html">Transactions</a><ul><li class="toctree-l2"><a class="reference internal" href="../core/transactions-in-applications.html">Drivers API</a></li><li class="toctree-l2"><a class="reference internal" href="../core/transactions-production-consideration.html">Production Considerations</a></li><li class="toctree-l2"><a class="reference internal" href="../core/transactions-sharded-clusters.html">Production Considerations (Sharded Clusters)</a></li><li class="toctree-l2"><a class="reference internal" href="../core/transactions-operations.html">Transactions and Operations</a></li></ul></li><li class="toctree-l1"><a class="reference internal" href="../indexes.html">Indexes</a><ul><li class="toctree-l2"><a class="reference internal" href="../core/index-single.html">Single Field Indexes</a></li><li class="toctree-l2"><a class="reference internal" href="../core/index-compound.html">Compound Indexes</a></li><li class="toctree-l2"><a class="reference internal" href="../core/index-multikey.html">Multikey Indexes</a><ul><li class="toctree-l3"><a class="reference internal" href="../core/multikey-index-bounds.html">Multikey Index Bounds</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/index-text.html">Text Indexes</a><ul><li class="toctree-l3"><a class="reference internal" href="../tutorial/specify-language-for-text-index.html">Specify a Language for Text Index</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/avoid-text-index-name-limit.html">Specify Name for <code class="docutils literal"><span class="pre">text</span></code> Index</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/control-results-of-text-search.html">Control Search Results with Weights</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/limit-number-of-items-scanned-for-text-search.html">Limit the Number of Entries Scanned</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/index-wildcard.html">Wildcard Indexes</a><ul><li class="toctree-l3"><a class="reference internal" href="../reference/index-wildcard-restrictions.html">Wildcard Index Restrictions</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/2dsphere.html"><code class="docutils literal"><span class="pre">2dsphere</span></code> Indexes</a><ul><li class="toctree-l3"><a class="reference internal" href="../tutorial/query-a-2dsphere-index.html">Query a <code class="docutils literal"><span class="pre">2dsphere</span></code> Index</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/2d.html"><code class="docutils literal"><span class="pre">2d</span></code> Indexes</a><ul><li class="toctree-l3"><a class="reference internal" href="../tutorial/build-a-2d-index.html">Create a <code class="docutils literal"><span class="pre">2d</span></code> Index</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/query-a-2d-index.html">Query a <code class="docutils literal"><span class="pre">2d</span></code> Index</a></li><li class="toctree-l3"><a class="reference internal" href="../core/geospatial-indexes.html"><code class="docutils literal"><span class="pre">2d</span></code> Index Internals</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/calculate-distances-using-spherical-geometry-with-2d-geospatial-indexes.html">Calculate Distance Using Spherical Geometry</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/geohaystack.html"><code class="docutils literal"><span class="pre">geoHaystack</span></code> Indexes</a><ul><li class="toctree-l3"><a class="reference internal" href="../tutorial/build-a-geohaystack-index.html">Create a Haystack Index</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/query-a-geohaystack-index.html">Query a Haystack Index</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/index-hashed.html">Hashed Indexes</a></li><li class="toctree-l2"><a class="reference internal" href="../core/index-properties.html">Index Properties</a><ul><li class="toctree-l3"><a class="reference internal" href="../core/index-ttl.html">TTL Indexes</a><ul><li class="toctree-l4"><a class="reference internal" href="../tutorial/expire-data.html">Expire Data from Collections by Setting TTL</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../core/index-unique.html">Unique Indexes</a></li><li class="toctree-l3"><a class="reference internal" href="../core/index-partial.html">Partial Indexes</a></li><li class="toctree-l3"><a class="reference internal" href="../core/index-case-insensitive.html">Case Insensitive Indexes</a></li><li class="toctree-l3"><a class="reference internal" href="../core/index-sparse.html">Sparse Indexes</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/index-creation.html">Index Builds on Populated Collections</a><ul><li class="toctree-l3"><a class="reference internal" href="../tutorial/build-indexes-on-replica-sets.html">Build Indexes on Replica Sets</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/build-indexes-on-sharded-clusters.html">Build Indexes on Sharded Clusters</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/index-intersection.html">Index Intersection</a></li><li class="toctree-l2"><a class="reference internal" href="../tutorial/manage-indexes.html">Manage Indexes</a></li><li class="toctree-l2"><a class="reference internal" href="../tutorial/measure-index-use.html">Measure Index Use</a></li><li class="toctree-l2"><a class="reference internal" href="../applications/indexes.html">Indexing Strategies</a><ul><li class="toctree-l3"><a class="reference internal" href="../tutorial/create-indexes-to-support-queries.html">Create Indexes to Support Your Queries</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/sort-results-with-indexes.html">Use Indexes to Sort Query Results</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/ensure-indexes-fit-ram.html">Ensure Indexes Fit in RAM</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/create-queries-that-ensure-selectivity.html">Create Queries that Ensure Selectivity</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../reference/indexes.html">Indexing Reference</a></li></ul></li><li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a><ul><li class="toctree-l2"><a class="reference internal" href="../administration/security-checklist.html">Security Checklist</a></li><li class="toctree-l2"><a class="reference internal" href="../tutorial/enable-authentication.html">Enable Access Control</a></li><li class="toctree-l2"><a class="reference internal" href="../core/authentication.html">Authentication</a><ul><li class="toctree-l3"><a class="reference internal" href="../core/security-users.html">Users</a><ul><li class="toctree-l4"><a class="reference internal" href="../tutorial/create-users.html">Add Users</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../core/authentication-mechanisms.html">Authentication Mechanisms</a><ul><li class="toctree-l4"><a class="reference internal" href="../core/security-scram.html">SCRAM</a></li><li class="toctree-l4"><a class="reference internal" href="../core/security-x.509.html">x.509</a><ul><li class="toctree-l5"><a class="reference internal" href="../tutorial/configure-x509-client-authentication.html">Use x.509 Certificates to Authenticate Clients</a></li></ul></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../core/authentication-mechanisms-enterprise.html">Enterprise Authentication Mechanisms</a><ul><li class="toctree-l4"><a class="reference internal" href="../core/kerberos.html">Kerberos Authentication</a><ul><li class="toctree-l5"><a class="reference internal" href="../tutorial/control-access-to-mongodb-with-kerberos-authentication.html">Configure MongoDB with Kerberos Authentication on Linux</a></li><li class="toctree-l5"><a class="reference internal" href="../tutorial/control-access-to-mongodb-windows-with-kerberos-authentication.html">Configure MongoDB with Kerberos Authentication on Windows</a></li><li class="toctree-l5"><a class="reference internal" href="../tutorial/troubleshoot-kerberos.html">Troubleshoot Kerberos Authentication</a></li><li class="toctree-l5"><a class="reference internal" href="../tutorial/kerberos-auth-activedirectory-authz.html">Configure MongoDB with Kerberos Authentication and Active Directory Authorization</a></li></ul></li><li class="toctree-l4"><a class="reference internal" href="../core/security-ldap.html">LDAP Proxy Authentication</a><ul><li class="toctree-l5"><a class="reference internal" href="../tutorial/configure-ldap-sasl-activedirectory.html">Authenticate Using SASL and LDAP with ActiveDirectory</a></li><li class="toctree-l5"><a class="reference internal" href="../tutorial/configure-ldap-sasl-openldap.html">Authenticate Using SASL and LDAP with OpenLDAP</a></li><li class="toctree-l5"><a class="reference internal" href="../tutorial/authenticate-nativeldap-activedirectory.html">Authenticate and Authorize Users Using Active Directory via Native LDAP</a></li></ul></li><li class="toctree-l4"><a class="reference internal" href="../core/security-ldap-external.html">LDAP Authorization</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../core/security-internal-authentication.html">Internal/Membership Authentication</a><ul><li class="toctree-l4"><a class="reference internal" href="../tutorial/deploy-replica-set-with-keyfile-access-control.html">Deploy Replica Set With Keyfile Authentication</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/enforce-keyfile-access-control-in-existing-replica-set.html">Update Replica Set to Keyfile Authentication</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/enforce-keyfile-access-control-in-existing-replica-set-without-downtime.html">Update Replica Set to Keyfile Authentication (No Downtime)</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/rotate-key-replica-set.html">Rotate Keys for Replica Sets</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/deploy-sharded-cluster-with-keyfile-access-control.html">Deploy Sharded Cluster with Keyfile Authentication</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/enforce-keyfile-access-control-in-existing-sharded-cluster.html">Update Sharded Cluster to Keyfile Authentication</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/enforce-keyfile-access-control-in-existing-sharded-cluster-no-downtime.html">Update Sharded Cluster to Keyfile Authentication (No Downtime)</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/rotate-key-sharded-cluster.html">Rotate Keys for Sharded Clusters</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/configure-x509-member-authentication.html">Use x.509 Certificate for Membership Authentication</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/upgrade-keyfile-to-x509.html">Upgrade from Keyfile Authentication to x.509 Authentication</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/rotate-x509-membership-certificates.html">Rolling Update of x.509 Cluster Certificates that Contain New DN</a></li></ul></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/authorization.html">Role-Based Access Control</a><ul><li class="toctree-l3"><a class="reference internal" href="../reference/built-in-roles.html">Built-In Roles</a></li><li class="toctree-l3"><a class="reference internal" href="../core/security-user-defined-roles.html">User-Defined Roles</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/manage-users-and-roles.html">Manage Users and Roles</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/change-own-password-and-custom-data.html">Change Your Password and Custom Data</a></li><li class="toctree-l3"><a class="reference internal" href="../core/collection-level-access-control.html">Collection-Level Access Control</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/security-transport-encryption.html">TLS/SSL (Transport Encryption)</a><ul><li class="toctree-l3"><a class="reference internal" href="../tutorial/configure-ssl.html">Configure <code class="docutils literal"><span class="pre">mongod</span></code> and <code class="docutils literal"><span class="pre">mongos</span></code> for TLS/SSL</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/configure-ssl-clients.html">TLS/SSL Configuration for Clients</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/upgrade-cluster-to-ssl.html">Upgrade a Cluster to Use TLS/SSL</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/configure-fips.html">Configure MongoDB for FIPS</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/security-encryption-at-rest.html">Encryption at Rest</a><ul><li class="toctree-l3"><a class="reference internal" href="../tutorial/configure-encryption.html">Configure Encryption</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/rotate-encryption-key.html">Rotate Encryption Keys</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/security-client-side-encryption.html">Client-Side Field Level Encryption</a><ul><li class="toctree-l3"><a class="reference internal" href="../core/security-automatic-client-side-encryption.html">Automatic Client-Side Field Level Encryption</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/security-client-side-automatic-json-schema.html">Automatic Encryption Rules</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/security-client-side-query-aggregation-support.html">Read/Write Support with Automatic Field Level Encryption</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/security-client-side-encryption-appendix.html">Appendix</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../core/security-explicit-client-side-encryption.html">Explicit (Manual) Client-Side Field Level Encryption</a></li><li class="toctree-l3"><a class="reference internal" href="../core/security-client-side-encryption-key-management.html">Master Key and Data Encryption Key Management</a><ul><li class="toctree-l4"><a class="reference internal" href="../tutorial/manage-client-side-encryption-data-keys.html">Manage Data Encryption Keys</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/security-client-side-encryption-limitations.html">Limitations</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/auditing.html">Auditing</a><ul><li class="toctree-l3"><a class="reference internal" href="../tutorial/configure-auditing.html">Configure Auditing</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/configure-audit-filters.html">Configure Audit Filters</a></li><li class="toctree-l3"><a class="reference internal" href="../reference/audit-message.html">System Event Audit Messages</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/security-hardening.html">Network and Configuration Hardening</a><ul><li class="toctree-l3"><a class="reference internal" href="../core/security-mongodb-configuration.html">IP Binding</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/configure-linux-iptables-firewall.html">Configure Linux <code class="docutils literal"><span class="pre">iptables</span></code> Firewall for MongoDB</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/configure-windows-netsh-firewall.html">Configure Windows <code class="docutils literal"><span class="pre">netsh</span></code> Firewall for MongoDB</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../tutorial/implement-field-level-redaction.html">Implement Field Level Redaction</a></li><li class="toctree-l2"><a class="reference internal" href="../reference/security.html">Security Reference</a><ul><li class="toctree-l3"><a class="reference internal" href="../reference/system-roles-collection.html"><code class="docutils literal"><span class="pre">system.roles</span></code> Collection</a></li><li class="toctree-l3"><a class="reference internal" href="../reference/system-users-collection.html"><code class="docutils literal"><span class="pre">system.users</span></code> Collection</a></li><li class="toctree-l3"><a class="reference internal" href="../reference/resource-document.html">Resource Document</a></li><li class="toctree-l3"><a class="reference internal" href="../reference/privilege-actions.html">Privilege Actions</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../tutorial/create-a-vulnerability-report.html">Create a Vulnerability Report</a></li><li class="toctree-l2"><a class="reference internal" href="../appendix/security.html">Appendix</a><ul><li class="toctree-l3"><a class="reference internal" href="../appendix/security/appendixA-openssl-ca.html">Appendix A - OpenSSL CA Certificate for Testing</a></li><li class="toctree-l3"><a class="reference internal" href="../appendix/security/appendixB-openssl-server.html">Appendix B - OpenSSL Server Certificates for Testing</a></li><li class="toctree-l3"><a class="reference internal" href="../appendix/security/appendixC-openssl-client.html">Appendix C - OpenSSL Client Certificates for Testing</a></li></ul></li></ul></li><li class="toctree-l1"><a class="reference internal" href="../changeStreams.html">Change Streams</a><ul><li class="toctree-l2"><a class="reference internal" href="../administration/change-streams-production-recommendations.html">Change Streams Production Recommendations</a></li><li class="toctree-l2"><a class="reference internal" href="../reference/change-events.html">Change Events</a></li></ul></li><li class="toctree-l1"><a class="reference internal" href="../replication.html">Replication</a><ul><li class="toctree-l2"><a class="reference internal" href="../core/replica-set-members.html">Replica Set Members</a><ul><li class="toctree-l3"><a class="reference internal" href="../core/replica-set-primary.html">Replica Set Primary</a></li><li class="toctree-l3"><a class="reference internal" href="../core/replica-set-secondary.html">Replica Set Secondary Members</a><ul><li class="toctree-l4"><a class="reference internal" href="../core/replica-set-priority-0-member.html">Priority 0 Replica Set Members</a></li><li class="toctree-l4"><a class="reference internal" href="../core/replica-set-hidden-member.html">Hidden Replica Set Members</a></li><li class="toctree-l4"><a class="reference internal" href="../core/replica-set-delayed-member.html">Delayed Replica Set Members</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../core/replica-set-arbiter.html">Replica Set Arbiter</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/replica-set-oplog.html">Replica Set Oplog</a></li><li class="toctree-l2"><a class="reference internal" href="../core/replica-set-sync.html">Replica Set Data Synchronization</a></li><li class="toctree-l2"><a class="reference internal" href="../core/replica-set-architectures.html">Replica Set Deployment Architectures</a><ul><li class="toctree-l3"><a class="reference internal" href="../core/replica-set-architecture-three-members.html">Three Member Replica Sets</a></li><li class="toctree-l3"><a class="reference internal" href="../core/replica-set-architecture-geographically-distributed.html">Replica Sets Distributed Across Two or More Data Centers</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/replica-set-high-availability.html">Replica Set High Availability</a><ul><li class="toctree-l3"><a class="reference internal" href="../core/replica-set-elections.html">Replica Set Elections</a></li><li class="toctree-l3"><a class="reference internal" href="../core/replica-set-rollbacks.html">Rollbacks During Replica Set Failover</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../applications/replication.html">Replica Set Read and Write Semantics</a><ul><li class="toctree-l3"><a class="reference internal" href="../core/replica-set-write-concern.html">Write Concern for Replica Sets</a></li><li class="toctree-l3"><a class="reference internal" href="../core/read-preference.html">Read Preference</a><ul><li class="toctree-l4"><a class="reference internal" href="../core/read-preference-tags.html">Tag Sets</a></li><li class="toctree-l4"><a class="reference internal" href="../core/read-preference-staleness.html">maxStalenessSeconds</a></li><li class="toctree-l4"><a class="reference internal" href="../core/read-preference-use-cases.html">Read Preference Use Cases</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../core/read-preference-mechanics.html">Server Selection Algorithm</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../administration/replica-set-deployment.html">Replica Set Deployment Tutorials</a><ul><li class="toctree-l3"><a class="reference internal" href="../tutorial/deploy-replica-set.html">Deploy a Replica Set</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/deploy-replica-set-for-testing.html">Deploy a Replica Set for Testing and Development</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/deploy-geographically-distributed-replica-set.html">Deploy a Geographically Redundant Replica Set</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/add-replica-set-arbiter.html">Add an Arbiter to Replica Set</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/convert-standalone-to-replica-set.html">Convert a Standalone to a Replica Set</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/expand-replica-set.html">Add Members to a Replica Set</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/remove-replica-set-member.html">Remove Members from Replica Set</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/replace-replica-set-member.html">Replace a Replica Set Member</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../administration/replica-set-member-configuration.html">Member Configuration Tutorials</a><ul><li class="toctree-l3"><a class="reference internal" href="../tutorial/adjust-replica-set-member-priority.html">Adjust Priority for Replica Set Member</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/configure-secondary-only-replica-set-member.html">Prevent Secondary from Becoming Primary</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/configure-a-hidden-replica-set-member.html">Configure a Hidden Replica Set Member</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/configure-a-delayed-replica-set-member.html">Configure a Delayed Replica Set Member</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/configure-a-non-voting-replica-set-member.html">Configure Non-Voting Replica Set Member</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/convert-secondary-into-arbiter.html">Convert a Secondary to an Arbiter</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../administration/replica-set-maintenance.html">Replica Set Maintenance Tutorials</a><ul><li class="toctree-l3"><a class="reference internal" href="../tutorial/change-oplog-size.html">Change the Size of the Oplog</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/perform-maintence-on-replica-set-members.html">Perform Maintenance on Replica Set Members</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/force-member-to-be-primary.html">Force a Member to Become Primary</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/resync-replica-set-member.html">Resync a Member of a Replica Set</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/configure-replica-set-tag-sets.html">Configure Replica Set Tag Sets</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/reconfigure-replica-set-with-unavailable-members.html">Reconfigure a Replica Set with Unavailable Members</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/manage-chained-replication.html">Manage Chained Replication</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/change-hostnames-in-a-replica-set.html">Change Hostnames in a Replica Set</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/configure-replica-set-secondary-sync-target.html">Configure a Secondary’s Sync Target</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../reference/replication.html">Replication Reference</a><ul><li class="toctree-l3"><a class="reference internal" href="../reference/replica-configuration.html">Replica Set Configuration</a></li><li class="toctree-l3"><a class="reference internal" href="../reference/replica-set-protocol-versions.html">Replica Set Protocol Version</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/troubleshoot-replica-sets.html">Troubleshoot Replica Sets</a></li><li class="toctree-l3"><a class="reference internal" href="../reference/local-database.html">The <code class="docutils literal"><span class="pre">local</span></code> Database</a></li><li class="toctree-l3"><a class="reference internal" href="../reference/replica-states.html">Replica Set Member States</a></li></ul></li></ul></li><li class="toctree-l1"><a class="reference internal" href="../sharding.html">Sharding</a><ul><li class="toctree-l2"><a class="reference internal" href="../core/sharded-cluster-components.html">Sharded Cluster Components</a><ul><li class="toctree-l3"><a class="reference internal" href="../core/sharded-cluster-shards.html">Shards</a></li><li class="toctree-l3"><a class="reference internal" href="../core/sharded-cluster-config-servers.html">Config Servers (metadata)</a></li><li class="toctree-l3"><a class="reference internal" href="../core/sharded-cluster-query-router.html">Router (mongos)</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/sharding-shard-key.html">Shard Keys</a></li><li class="toctree-l2"><a class="reference internal" href="../core/hashed-sharding.html">Hashed Sharding</a></li><li class="toctree-l2"><a class="reference internal" href="../core/ranged-sharding.html">Ranged Sharding</a></li><li class="toctree-l2"><a class="reference internal" href="../tutorial/deploy-shard-cluster.html">Deploy a Sharded Cluster</a></li><li class="toctree-l2"><a class="reference internal" href="../core/zone-sharding.html">Zones</a><ul><li class="toctree-l3"><a class="reference internal" href="../tutorial/manage-shard-zone.html">Manage Shard Zones</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/sharding-segmenting-data-by-location.html">Segmenting Data by Location</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/sharding-tiered-hardware-for-varying-slas.html">Tiered Hardware for Varying SLA or SLO</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/sharding-segmenting-shards.html">Segmenting Data by Application or Customer</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/sharding-high-availability-writes.html">Distributed Local Writes for Insert Only Workloads</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/sharding-data-partitioning.html">Data Partitioning with Chunks</a><ul><li class="toctree-l3"><a class="reference internal" href="../tutorial/create-chunks-in-sharded-cluster.html">Create Chunks in a Sharded Cluster</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/split-chunks-in-sharded-cluster.html">Split Chunks in a Sharded Cluster</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/merge-chunks-in-sharded-cluster.html">Merge Chunks in a Sharded Cluster</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/modify-chunk-size-in-sharded-cluster.html">Modify Chunk Size in a Sharded Cluster</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/sharding-balancer-administration.html">Balancer</a><ul><li class="toctree-l3"><a class="reference internal" href="../tutorial/manage-sharded-cluster-balancer.html">Manage Sharded Cluster Balancer</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/migrate-chunks-in-sharded-cluster.html">Migrate Chunks in a Sharded Cluster</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../administration/sharded-cluster-administration.html">Administration</a><ul><li class="toctree-l3"><a class="reference internal" href="../administration/sharded-cluster-config-servers.html">Config Server Administration</a><ul><li class="toctree-l4"><a class="reference internal" href="../tutorial/replace-config-server.html">Replace a Config Server</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/view-sharded-cluster-configuration.html">View Cluster Configuration</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/restart-sharded-cluster.html">Restart a Sharded Cluster</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/migrate-sharded-cluster-to-new-hardware.html">Migrate a Sharded Cluster to Different Hardware</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/add-shards-to-shard-cluster.html">Add Shards to a Cluster</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/remove-shards-from-cluster.html">Remove Shards from an Existing Sharded Cluster</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/clear-jumbo-flag.html">Clear <code class="docutils literal"><span class="pre">jumbo</span></code> Flag</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/backup-sharded-cluster-metadata.html">Back Up Cluster Metadata</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/convert-sharded-cluster-to-replica-set.html">Convert Sharded Cluster to Replica Set</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/convert-replica-set-to-replicated-shard-cluster.html">Convert a Replica Set to a Sharded Cluster</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/convert-shard-standalone-to-shard-replica-set.html">Convert a Shard Standalone to a Shard Replica Set</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../reference/sharding.html">Sharding Reference</a><ul><li class="toctree-l3"><a class="reference internal" href="../core/sharded-cluster-requirements.html">Operational Restrictions</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/troubleshoot-sharded-clusters.html">Troubleshoot Sharded Clusters</a></li><li class="toctree-l3"><a class="reference internal" href="../reference/config-database.html">Config Database</a></li></ul></li></ul></li><li class="toctree-l1"><a class="reference internal" href="../administration.html">Administration</a><ul><li class="toctree-l2"><a class="reference internal" href="../administration/production-notes.html">Production Notes</a></li><li class="toctree-l2"><a class="reference internal" href="../administration/production-checklist-operations.html">Operations Checklist</a></li><li class="toctree-l2"><a class="reference internal" href="../administration/production-checklist-development.html">Development Checklist</a></li><li class="toctree-l2"><a class="reference internal" href="../administration/analyzing-mongodb-performance.html">Performance</a><ul><li class="toctree-l3"><a class="reference internal" href="../tutorial/manage-the-database-profiler.html">Database Profiler</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/database-profiler.html">Database Profiler Output</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/transparent-huge-pages.html">Disable Transparent Huge Pages (THP)</a></li><li class="toctree-l3"><a class="reference internal" href="../reference/ulimit.html">UNIX <code class="docutils literal"><span class="pre">ulimit</span></code> Settings</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../administration/configuration-and-maintenance.html">Configuration and Maintenance</a><ul><li class="toctree-l3"><a class="reference internal" href="../administration/configuration.html">Run-time Database Configuration</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/upgrade-revision.html">Upgrade to the Latest Revision of MongoDB</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/manage-mongodb-processes.html">Manage <code class="docutils literal"><span class="pre">mongod</span></code> Processes</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/terminate-running-operations.html">Terminate Running Operations</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/rotate-log-files.html">Rotate Log Files</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../data-center-awareness.html">Data Center Awareness</a><ul><li class="toctree-l3"><a class="reference internal" href="../core/workload-isolation.html">Workload Isolation in MongoDB Deployments</a></li><li class="toctree-l3"><a class="reference internal" href="../core/zone-sharding.html">Zones</a><ul><li class="toctree-l4"><a class="reference internal" href="../tutorial/manage-shard-zone.html">Manage Shard Zones</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/sharding-segmenting-data-by-location.html">Segmenting Data by Location</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/sharding-tiered-hardware-for-varying-slas.html">Tiered Hardware for Varying SLA or SLO</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/sharding-segmenting-shards.html">Segmenting Data by Application or Customer</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/sharding-high-availability-writes.html">Distributed Local Writes for Insert Only Workloads</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/manage-shard-zone.html">Manage Shard Zones</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/backups.html">MongoDB Backup Methods</a><ul><li class="toctree-l3"><a class="reference internal" href="../tutorial/backup-with-filesystem-snapshots.html">Back Up and Restore with Filesystem Snapshots</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/backup-and-restore-tools.html">Back Up and Restore with MongoDB Tools</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/restore-replica-set-from-backup.html">Restore a Replica Set from MongoDB Backups</a></li><li class="toctree-l3"><a class="reference internal" href="../administration/backup-sharded-clusters.html">Backup and Restore Sharded Clusters</a><ul><li class="toctree-l4"><a class="reference internal" href="../tutorial/backup-sharded-cluster-with-filesystem-snapshots.html">Back Up a Sharded Cluster with File System Snapshots</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/backup-sharded-cluster-with-database-dumps.html">Back Up a Sharded Cluster with Database Dumps</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/schedule-backup-window-for-sharded-clusters.html">Schedule Backup Window for Sharded Clusters</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/restore-sharded-cluster.html">Restore a Sharded Cluster</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/recover-data-following-unexpected-shutdown.html">Recover a Standalone after an Unexpected Shutdown</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../administration/monitoring.html">Monitoring for MongoDB</a><ul><li class="toctree-l3"><a class="reference internal" href="../administration/free-monitoring.html">Free Monitoring</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/monitor-with-snmp.html">Monitor MongoDB With SNMP on Linux</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/monitor-with-snmp-on-windows.html">Monitor MongoDB Windows with SNMP</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/troubleshoot-snmp.html">Troubleshoot SNMP</a></li></ul></li></ul></li><li class="toctree-l1"><a class="reference internal" href="../storage.html">Storage</a><ul><li class="toctree-l2"><a class="reference internal" href="../core/storage-engines.html">Storage Engines</a><ul><li class="toctree-l3"><a class="reference internal" href="../core/wiredtiger.html">WiredTiger Storage Engine</a><ul><li class="toctree-l4"><a class="reference internal" href="../tutorial/change-standalone-wiredtiger.html">Change Standalone to WiredTiger</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/change-replica-set-wiredtiger.html">Change Replica Set to WiredTiger</a></li><li class="toctree-l4"><a class="reference internal" href="../tutorial/change-sharded-cluster-wiredtiger.html">Change Sharded Cluster to WiredTiger</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../core/inmemory.html">In-Memory Storage Engine</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/journaling.html">Journaling</a><ul><li class="toctree-l3"><a class="reference internal" href="../tutorial/manage-journaling.html">Manage Journaling</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../core/gridfs.html">GridFS</a></li><li class="toctree-l2"><a class="reference internal" href="../faq/storage.html">FAQ: MongoDB Storage</a></li></ul></li><li class="toctree-l1"><a class="reference internal" href="../faq.html">Frequently Asked Questions</a><ul><li class="toctree-l2"><a class="reference internal" href="../faq/fundamentals.html">FAQ: MongoDB Fundamentals</a></li><li class="toctree-l2"><a class="reference internal" href="../faq/indexes.html">FAQ: Indexes</a></li><li class="toctree-l2"><a class="reference internal" href="../faq/concurrency.html">FAQ: Concurrency</a></li><li class="toctree-l2"><a class="reference internal" href="../faq/sharding.html">FAQ: Sharding with MongoDB</a></li><li class="toctree-l2"><a class="reference internal" href="../faq/replica-sets.html">FAQ: Replication and Replica Sets</a></li><li class="toctree-l2"><a class="reference internal" href="../faq/storage.html">FAQ: MongoDB Storage</a></li><li class="toctree-l2"><a class="reference internal" href="../faq/diagnostics.html">FAQ: MongoDB Diagnostics</a></li></ul></li><li class="toctree-l1"><a class="reference internal" href="../reference.html">Reference</a><ul><li class="toctree-l2"><a class="reference internal" href="../reference/operator.html">Operators</a><ul><li class="toctree-l3"><a class="reference internal" href="../reference/operator/query.html">Query and Projection Operators</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/operator/query-comparison.html">Comparison Query Operators</a><ul><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/eq.html">$eq</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/gt.html">$gt</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/gte.html">$gte</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/in.html">$in</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/lt.html">$lt</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/lte.html">$lte</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/ne.html">$ne</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/nin.html">$nin</a></li></ul></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/query-logical.html">Logical Query Operators</a><ul><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/and.html">$and</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/not.html">$not</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/nor.html">$nor</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/or.html">$or</a></li></ul></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/query-element.html">Element Query Operators</a><ul><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/exists.html">$exists</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/type.html">$type</a></li></ul></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/query-evaluation.html">Evaluation Query Operators</a><ul><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/expr.html">$expr</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/jsonSchema.html">$jsonSchema</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/mod.html">$mod</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/regex.html">$regex</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/text.html">$text</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/where.html">$where</a></li></ul></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/query-geospatial.html">Geospatial Query Operators</a><ul><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/geoIntersects.html">$geoIntersects</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/geoWithin.html">$geoWithin</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/near.html">$near</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/nearSphere.html">$nearSphere</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/box.html">$box</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/center.html">$center</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/centerSphere.html">$centerSphere</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/geometry.html">$geometry</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/maxDistance.html">$maxDistance</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/minDistance.html">$minDistance</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/polygon.html">$polygon</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/uniqueDocs.html">$uniqueDocs</a></li></ul></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/query-array.html">Array Query Operators</a><ul><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/all.html">$all</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/elemMatch.html">$elemMatch (query)</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/size.html">$size</a></li></ul></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/query-bitwise.html">Bitwise Query Operators</a><ul><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/bitsAllClear.html">$bitsAllClear</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/bitsAllSet.html">$bitsAllSet</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/bitsAnyClear.html">$bitsAnyClear</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/query/bitsAnySet.html">$bitsAnySet</a></li></ul></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/query/comment.html">$comment</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/projection.html">Projection Operators</a><ul><li class="toctree-l5"><a class="reference internal" href="../reference/operator/projection/positional.html">$ (projection)</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/projection/elemMatch.html">$elemMatch (projection)</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/projection/meta.html">$meta</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/projection/slice.html">$slice (projection)</a></li></ul></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/operator/update.html">Update Operators</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/operator/update-field.html">Field Update Operators</a><ul><li class="toctree-l5"><a class="reference internal" href="../reference/operator/update/currentDate.html">$currentDate</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/update/inc.html">$inc</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/update/min.html">$min</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/update/max.html">$max</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/update/mul.html">$mul</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/update/rename.html">$rename</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/update/set.html">$set</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/update/setOnInsert.html">$setOnInsert</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/update/unset.html">$unset</a></li></ul></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/update-array.html">Array Update Operators</a><ul><li class="toctree-l5"><a class="reference internal" href="../reference/operator/update/positional.html">$ (update)</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/update/positional-all.html">$[]</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/update/positional-filtered.html">$[&lt;identifier&gt;]</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/update/addToSet.html">$addToSet</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/update/pop.html">$pop</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/update/pull.html">$pull</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/update/push.html">$push</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/update/pullAll.html">$pullAll</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/update/each.html">$each</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/update/position.html">$position</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/update/slice.html">$slice</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/operator/update/sort.html">$sort</a></li></ul></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/update-bitwise.html">Bitwise Update Operator</a><ul><li class="toctree-l5"><a class="reference internal" href="../reference/operator/update/bit.html">$bit</a></li></ul></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/operator/aggregation-pipeline.html">Aggregation Pipeline Stages</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/addFields.html">$addFields (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/bucket.html">$bucket (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/bucketAuto.html">$bucketAuto (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/collStats.html">$collStats (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/count.html">$count (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/currentOp.html">$currentOp (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/facet.html">$facet (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/geoNear.html">$geoNear (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/graphLookup.html">$graphLookup (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/group.html">$group (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/indexStats.html">$indexStats (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/limit.html">$limit (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/listLocalSessions.html">$listLocalSessions</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/listSessions.html">$listSessions</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/lookup.html">$lookup (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/match.html">$match (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/merge.html">$merge (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/out.html">$out (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/planCacheStats.html">$planCacheStats</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/project.html">$project (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/redact.html">$redact (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/replaceRoot.html">$replaceRoot (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/replaceWith.html">$replaceWith (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/sample.html">$sample (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/set.html">$set (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/skip.html">$skip (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/sort.html">$sort (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/sortByCount.html">$sortByCount (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/unset.html">$unset (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/unwind.html">$unwind (aggregation)</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/operator/aggregation.html">Aggregation Pipeline Operators</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/abs.html">$abs (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/acos.html">$acos (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/acosh.html">$acosh (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/add.html">$add (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/addToSet.html">$addToSet (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/allElementsTrue.html">$allElementsTrue (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/and.html">$and (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/anyElementTrue.html">$anyElementTrue (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/arrayElemAt.html">$arrayElemAt (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/arrayToObject.html">$arrayToObject (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/asin.html">$asin (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/asinh.html">$asinh (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/atan.html">$atan (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/atan2.html">$atan2 (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/atanh.html">$atanh (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/avg.html">$avg (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/ceil.html">$ceil (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/cmp.html">$cmp (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/concat.html">$concat (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/concatArrays.html">$concatArrays (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/cond.html">$cond (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/convert.html">$convert (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/cos.html">$cos (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/dateFromParts.html">$dateFromParts (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/dateToParts.html">$dateToParts (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/dateFromString.html">$dateFromString (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/dateToString.html">$dateToString (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/dayOfMonth.html">$dayOfMonth (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/dayOfWeek.html">$dayOfWeek (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/dayOfYear.html">$dayOfYear (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/degreesToRadians.html">$degreesToRadians (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/divide.html">$divide (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/eq.html">$eq (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/exp.html">$exp (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/filter.html">$filter (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/first.html">$first (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/floor.html">$floor (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/gt.html">$gt (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/gte.html">$gte (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/hour.html">$hour (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/ifNull.html">$ifNull (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/in.html">$in (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/indexOfArray.html">$indexOfArray (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/indexOfBytes.html">$indexOfBytes (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/indexOfCP.html">$indexOfCP (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/isArray.html">$isArray (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/isoDayOfWeek.html">$isoDayOfWeek (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/isoWeek.html">$isoWeek (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/isoWeekYear.html">$isoWeekYear (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/last.html">$last (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/let.html">$let (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/literal.html">$literal (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/ln.html">$ln (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/log.html">$log (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/log10.html">$log10 (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/lt.html">$lt (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/lte.html">$lte (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/ltrim.html">$ltrim (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/map.html">$map (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/max.html">$max (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/mergeObjects.html">$mergeObjects (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/meta.html">$meta (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/min.html">$min (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/millisecond.html">$millisecond (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/minute.html">$minute (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/mod.html">$mod (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/month.html">$month (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/multiply.html">$multiply (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/ne.html">$ne (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/not.html">$not (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/objectToArray.html">$objectToArray (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/or.html">$or (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/pow.html">$pow (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/push.html">$push (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/radiansToDegrees.html">$radiansToDegrees (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/range.html">$range (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/reduce.html">$reduce (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/regexFind.html">$regexFind (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/regexFindAll.html">$regexFindAll (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/regexMatch.html">$regexMatch (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/reverseArray.html">$reverseArray (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/round.html">$round (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/rtrim.html">$rtrim (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/second.html">$second (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/setDifference.html">$setDifference (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/setEquals.html">$setEquals (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/setIntersection.html">$setIntersection (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/setIsSubset.html">$setIsSubset (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/setUnion.html">$setUnion (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/size.html">$size (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/sin.html">$sin (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/slice.html">$slice (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/split.html">$split (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/sqrt.html">$sqrt (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/stdDevPop.html">$stdDevPop (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/stdDevSamp.html">$stdDevSamp (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/strcasecmp.html">$strcasecmp (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/strLenBytes.html">$strLenBytes (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/strLenCP.html">$strLenCP (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/substr.html">$substr (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/substrBytes.html">$substrBytes (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/substrCP.html">$substrCP (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/subtract.html">$subtract (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/sum.html">$sum (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/switch.html">$switch (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/tan.html">$tan (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/toBool.html">$toBool (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/toDate.html">$toDate (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/toDecimal.html">$toDecimal (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/toDouble.html">$toDouble(aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/toInt.html">$toInt (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/toLong.html">$toLong (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/toObjectId.html">$toObjectId (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/toString.html">$toString (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/toLower.html">$toLower (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/toUpper.html">$toUpper (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/trim.html">$trim (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/trunc.html">$trunc (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/type.html">$type (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/week.html">$week (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/year.html">$year (aggregation)</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/aggregation/zip.html">$zip (aggregation)</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/operator/query-modifier.html">Query Modifiers</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/operator/meta/comment.html">$comment</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/meta/explain.html">$explain</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/meta/hint.html">$hint</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/meta/max.html">$max</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/meta/maxTimeMS.html">$maxTimeMS</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/meta/min.html">$min</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/meta/orderby.html">$orderby</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/meta/query.html">$query</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/meta/returnKey.html">$returnKey</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/meta/showDiskLoc.html">$showDiskLoc</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/operator/meta/natural.html">$natural</a></li></ul></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../reference/command.html">Database Commands</a><ul><li class="toctree-l3"><a class="reference internal" href="../reference/command/nav-aggregation.html">Aggregation Commands</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/command/aggregate.html">aggregate</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/count.html">count</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/distinct.html">distinct</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/mapReduce.html">mapReduce</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/command/nav-geospatial.html">Geospatial Commands</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/command/geoSearch.html">geoSearch</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/command/nav-crud.html">Query and Write Operation Commands</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/command/delete.html">delete</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/find.html">find</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/findAndModify.html">findAndModify</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/getLastError.html">getLastError</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/getMore.html">getMore</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/insert.html">insert</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/resetError.html">resetError</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/update.html">update</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/command/nav-plan-cache.html">Query Plan Cache Commands</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/command/planCacheClear.html">planCacheClear</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/planCacheClearFilters.html">planCacheClearFilters</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/planCacheListFilters.html">planCacheListFilters</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/planCacheListPlans.html">planCacheListPlans</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/planCacheListQueryShapes.html">planCacheListQueryShapes</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/planCacheSetFilter.html">planCacheSetFilter</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/command/nav-authentication.html">Authentication Commands</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/command/authenticate.html">authenticate</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/getnonce.html">getnonce</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/logout.html">logout</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/command/nav-user-management.html">User Management Commands</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/command/createUser.html">createUser</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/dropAllUsersFromDatabase.html">dropAllUsersFromDatabase</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/dropUser.html">dropUser</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/grantRolesToUser.html">grantRolesToUser</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/revokeRolesFromUser.html">revokeRolesFromUser</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/updateUser.html">updateUser</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/usersInfo.html">usersInfo</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/command/nav-role-management.html">Role Management Commands</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/command/createRole.html">createRole</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/dropRole.html">dropRole</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/dropAllRolesFromDatabase.html">dropAllRolesFromDatabase</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/grantPrivilegesToRole.html">grantPrivilegesToRole</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/grantRolesToRole.html">grantRolesToRole</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/invalidateUserCache.html">invalidateUserCache</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/revokePrivilegesFromRole.html">revokePrivilegesFromRole</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/revokeRolesFromRole.html">revokeRolesFromRole</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/rolesInfo.html">rolesInfo</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/updateRole.html">updateRole</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/command/nav-replication.html">Replication Commands</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/command/applyOps.html">applyOps</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/isMaster.html">isMaster</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/replSetAbortPrimaryCatchUp.html">replSetAbortPrimaryCatchUp</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/replSetFreeze.html">replSetFreeze</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/replSetGetConfig.html">replSetGetConfig</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/replSetGetStatus.html">replSetGetStatus</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/replSetInitiate.html">replSetInitiate</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/replSetMaintenance.html">replSetMaintenance</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/replSetReconfig.html">replSetReconfig</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/replSetResizeOplog.html">replSetResizeOplog</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/replSetStepDown.html">replSetStepDown</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/replSetSyncFrom.html">replSetSyncFrom</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/command/nav-sharding.html">Sharding Commands</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/command/addShard.html">addShard</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/addShardToZone.html">addShardToZone</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/balancerStart.html">balancerStart</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/balancerStatus.html">balancerStatus</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/balancerStop.html">balancerStop</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/checkShardingIndex.html">checkShardingIndex</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/clearJumboFlag.html">clearJumboFlag</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/cleanupOrphaned.html">cleanupOrphaned</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/enableSharding.html">enableSharding</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/flushRouterConfig.html">flushRouterConfig</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/getShardMap.html">getShardMap</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/getShardVersion.html">getShardVersion</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/isdbgrid.html">isdbgrid</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/listShards.html">listShards</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/medianKey.html">medianKey</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/moveChunk.html">moveChunk</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/movePrimary.html">movePrimary</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/mergeChunks.html">mergeChunks</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/removeShard.html">removeShard</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/removeShardFromZone.html">removeShardFromZone</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/setShardVersion.html">setShardVersion</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/shardCollection.html">shardCollection</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/shardingState.html">shardingState</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/split.html">split</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/splitChunk.html">splitChunk</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/splitVector.html">splitVector</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/unsetSharding.html">unsetSharding</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/updateZoneKeyRange.html">updateZoneKeyRange</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/command/nav-sessions.html">Sessions Commands</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/command/abortTransaction.html">abortTransaction</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/commitTransaction.html">commitTransaction</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/endSessions.html">endSessions</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/killAllSessions.html">killAllSessions</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/killAllSessionsByPattern.html">killAllSessionsByPattern</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/killSessions.html">killSessions</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/refreshSessions.html">refreshSessions</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/startSession.html">startSession</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/command/nav-administration.html">Administration Commands</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/command/clean.html">clean</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/cloneCollection.html">cloneCollection</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/cloneCollectionAsCapped.html">cloneCollectionAsCapped</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/collMod.html">collMod</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/compact.html">compact</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/connPoolSync.html">connPoolSync</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/convertToCapped.html">convertToCapped</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/create.html">create</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/createIndexes.html">createIndexes</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/currentOp.html">currentOp</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/drop.html">drop</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/dropDatabase.html">dropDatabase</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/dropConnections.html">dropConnections</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/dropIndexes.html">dropIndexes</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/filemd5.html">filemd5</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/fsync.html">fsync</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/fsyncUnlock.html">fsyncUnlock</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/getParameter.html">getParameter</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/killCursors.html">killCursors</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/killOp.html">killOp</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/listCollections.html">listCollections</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/listDatabases.html">listDatabases</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/listIndexes.html">listIndexes</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/logRotate.html">logRotate</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/reIndex.html">reIndex</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/renameCollection.html">renameCollection</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/setFeatureCompatibilityVersion.html">setFeatureCompatibilityVersion</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/setParameter.html">setParameter</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/shutdown.html">shutdown</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/command/nav-diagnostic.html">Diagnostic Commands</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/command/availableQueryOptions.html">availableQueryOptions</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/buildInfo.html">buildInfo</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/collStats.html">collStats</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/connPoolStats.html">connPoolStats</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/connectionStatus.html">connectionStatus</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/cursorInfo.html">cursorInfo</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/dataSize.html">dataSize</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/dbHash.html">dbHash</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/dbStats.html">dbStats</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/diagLogging.html">diagLogging</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/driverOIDTest.html">driverOIDTest</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/explain.html">explain</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/features.html">features</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/getCmdLineOpts.html">getCmdLineOpts</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/getLog.html">getLog</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/hostInfo.html">hostInfo</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/isSelf.html">isSelf</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/listCommands.html">listCommands</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/netstat.html">netstat</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/ping.html">ping</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/profile.html">profile</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/serverStatus.html">serverStatus</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/shardConnPoolStats.html">shardConnPoolStats</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/top.html">top</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/validate.html">validate</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/whatsmyuri.html">whatsmyuri</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/command/nav-free-monitoring.html">Free Monitoring Commands</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/command/getFreeMonitoringStatus.html">getFreeMonitoringStatus</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/command/setFreeMonitoring.html">setFreeMonitoring</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/command/nav-auditing.html">System Events Auditing Commands</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/command/logApplicationMessage.html">logApplicationMessage</a></li></ul></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../reference/method.html"><code class="docutils literal"><span class="pre">mongo</span></code> Shell Methods</a><ul><li class="toctree-l3"><a class="reference internal" href="../reference/method/js-collection.html">Collection Methods</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.aggregate.html">db.collection.aggregate()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.bulkWrite.html">db.collection.bulkWrite()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.copyTo.html">db.collection.copyTo()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.count.html">db.collection.count()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.countDocuments.html">db.collection.countDocuments()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.estimatedDocumentCount.html">db.collection.estimatedDocumentCount()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.createIndex.html">db.collection.createIndex()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.createIndexes.html">db.collection.createIndexes()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.dataSize.html">db.collection.dataSize()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.deleteOne.html">db.collection.deleteOne()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.deleteMany.html">db.collection.deleteMany()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.distinct.html">db.collection.distinct()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.drop.html">db.collection.drop()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.dropIndex.html">db.collection.dropIndex()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.dropIndexes.html">db.collection.dropIndexes()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.ensureIndex.html">db.collection.ensureIndex()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.explain.html">db.collection.explain()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.find.html">db.collection.find()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.findAndModify.html">db.collection.findAndModify()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.findOne.html">db.collection.findOne()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.findOneAndDelete.html">db.collection.findOneAndDelete()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.findOneAndReplace.html">db.collection.findOneAndReplace()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.findOneAndUpdate.html">db.collection.findOneAndUpdate()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.getIndexes.html">db.collection.getIndexes()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.getShardDistribution.html">db.collection.getShardDistribution()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.getShardVersion.html">db.collection.getShardVersion()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.insert.html">db.collection.insert()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.insertOne.html">db.collection.insertOne()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.insertMany.html">db.collection.insertMany()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.isCapped.html">db.collection.isCapped()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.latencyStats.html">db.collection.latencyStats()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.mapReduce.html">db.collection.mapReduce()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.reIndex.html">db.collection.reIndex()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.remove.html">db.collection.remove()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.renameCollection.html">db.collection.renameCollection()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.replaceOne.html">db.collection.replaceOne()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.save.html">db.collection.save()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.stats.html">db.collection.stats()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.storageSize.html">db.collection.storageSize()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.totalIndexSize.html">db.collection.totalIndexSize()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.totalSize.html">db.collection.totalSize()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.update.html">db.collection.update()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.updateOne.html">db.collection.updateOne()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.updateMany.html">db.collection.updateMany()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.watch.html">db.collection.watch()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.validate.html">db.collection.validate()</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/method/js-cursor.html">Cursor Methods</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.addOption.html">cursor.addOption()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.allowPartialResults.html">cursor.allowPartialResults()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.batchSize.html">cursor.batchSize()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.close.html">cursor.close()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.isClosed.html">cursor.isClosed()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.collation.html">cursor.collation()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.comment.html">cursor.comment()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.count.html">cursor.count()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.explain.html">cursor.explain()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.forEach.html">cursor.forEach()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.hasNext.html">cursor.hasNext()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.hint.html">cursor.hint()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.isExhausted.html">cursor.isExhausted()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.itcount.html">cursor.itcount()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.limit.html">cursor.limit()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.map.html">cursor.map()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.max.html">cursor.max()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.maxTimeMS.html">cursor.maxTimeMS()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.min.html">cursor.min()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.next.html">cursor.next()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.noCursorTimeout.html">cursor.noCursorTimeout()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.objsLeftInBatch.html">cursor.objsLeftInBatch()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.pretty.html">cursor.pretty()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.readConcern.html">cursor.readConcern()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.readPref.html">cursor.readPref()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.returnKey.html">cursor.returnKey()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.showRecordId.html">cursor.showRecordId()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.size.html">cursor.size()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.skip.html">cursor.skip()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.sort.html">cursor.sort()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.tailable.html">cursor.tailable()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cursor.toArray.html">cursor.toArray()</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/method/js-database.html">Database Methods</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.adminCommand.html">db.adminCommand()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.aggregate.html">db.aggregate()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.cloneCollection.html">db.cloneCollection()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.cloneDatabase.html">db.cloneDatabase()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.commandHelp.html">db.commandHelp()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.copyDatabase.html">db.copyDatabase()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.createCollection.html">db.createCollection()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.createView.html">db.createView()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.currentOp.html">db.currentOp()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.dropDatabase.html">db.dropDatabase()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.eval.html">db.eval()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.fsyncLock.html">db.fsyncLock()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.fsyncUnlock.html">db.fsyncUnlock()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.getCollection.html">db.getCollection()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.getCollectionInfos.html">db.getCollectionInfos()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.getCollectionNames.html">db.getCollectionNames()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.getLastError.html">db.getLastError()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.getLastErrorObj.html">db.getLastErrorObj()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.getLogComponents.html">db.getLogComponents()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.getMongo.html">db.getMongo()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.getName.html">db.getName()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.getProfilingLevel.html">db.getProfilingLevel()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.getProfilingStatus.html">db.getProfilingStatus()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.getReplicationInfo.html">db.getReplicationInfo()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.getSiblingDB.html">db.getSiblingDB()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.help.html">db.help()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.hostInfo.html">db.hostInfo()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.isMaster.html">db.isMaster()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.killOp.html">db.killOp()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.listCommands.html">db.listCommands()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.logout.html">db.logout()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.printCollectionStats.html">db.printCollectionStats()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.printReplicationInfo.html">db.printReplicationInfo()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.printShardingStatus.html">db.printShardingStatus()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.printSlaveReplicationInfo.html">db.printSlaveReplicationInfo()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.resetError.html">db.resetError()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.runCommand.html">db.runCommand()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.serverBuildInfo.html">db.serverBuildInfo()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.serverCmdLineOpts.html">db.serverCmdLineOpts()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.serverStatus.html">db.serverStatus()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.setLogLevel.html">db.setLogLevel()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.setProfilingLevel.html">db.setProfilingLevel()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.shutdownServer.html">db.shutdownServer()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.stats.html">db.stats()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.version.html">db.version()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.watch.html">db.watch()</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/method/js-plan-cache.html">Query Plan Cache Methods</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.getPlanCache.html">db.collection.getPlanCache()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/PlanCache.clear.html">PlanCache.clear()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/PlanCache.clearPlansByQuery.html">PlanCache.clearPlansByQuery()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/PlanCache.getPlansByQuery.html">PlanCache.getPlansByQuery()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/PlanCache.help.html">PlanCache.help()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/PlanCache.listQueryShapes.html">PlanCache.listQueryShapes()</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/method/js-bulk.html">Bulk Operation Methods</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.initializeOrderedBulkOp.html">db.collection.initializeOrderedBulkOp()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.collection.initializeUnorderedBulkOp.html">db.collection.initializeUnorderedBulkOp()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Bulk.html">Bulk()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Bulk.execute.html">Bulk.execute()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Bulk.find.html">Bulk.find()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Bulk.find.arrayFilters.html">Bulk.find.arrayFilters()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Bulk.find.collation.html">Bulk.find.collation()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Bulk.find.hint.html">Bulk.find.hint()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Bulk.find.remove.html">Bulk.find.remove()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Bulk.find.removeOne.html">Bulk.find.removeOne()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Bulk.find.replaceOne.html">Bulk.find.replaceOne()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Bulk.find.updateOne.html">Bulk.find.updateOne()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Bulk.find.update.html">Bulk.find.update()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Bulk.find.upsert.html">Bulk.find.upsert()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Bulk.getOperations.html">Bulk.getOperations()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Bulk.insert.html">Bulk.insert()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Bulk.tojson.html">Bulk.tojson()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Bulk.toString.html">Bulk.toString()</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/method/js-user-management.html">User Management Methods</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.auth.html">db.auth()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.changeUserPassword.html">db.changeUserPassword()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.createUser.html">db.createUser()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.dropUser.html">db.dropUser()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.dropAllUsers.html">db.dropAllUsers()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.getUser.html">db.getUser()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.getUsers.html">db.getUsers()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.grantRolesToUser.html">db.grantRolesToUser()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.removeUser.html">db.removeUser()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.revokeRolesFromUser.html">db.revokeRolesFromUser()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.updateUser.html">db.updateUser()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/passwordPrompt.html">passwordPrompt()</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/method/js-role-management.html">Role Management Methods</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.createRole.html">db.createRole()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.dropRole.html">db.dropRole()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.dropAllRoles.html">db.dropAllRoles()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.getRole.html">db.getRole()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.getRoles.html">db.getRoles()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.grantPrivilegesToRole.html">db.grantPrivilegesToRole()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.revokePrivilegesFromRole.html">db.revokePrivilegesFromRole()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.grantRolesToRole.html">db.grantRolesToRole()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.revokeRolesFromRole.html">db.revokeRolesFromRole()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.updateRole.html">db.updateRole()</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/method/js-replication.html">Replication Methods</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/method/rs.add.html">rs.add()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/rs.addArb.html">rs.addArb()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/rs.conf.html">rs.conf()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/rs.freeze.html">rs.freeze()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/rs.help.html">rs.help()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/rs.initiate.html">rs.initiate()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/rs.printReplicationInfo.html">rs.printReplicationInfo()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/rs.printSlaveReplicationInfo.html">rs.printSlaveReplicationInfo()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/rs.reconfig.html">rs.reconfig()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/rs.remove.html">rs.remove()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/rs.slaveOk.html">rs.slaveOk()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/rs.status.html">rs.status()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/rs.stepDown.html">rs.stepDown()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/rs.syncFrom.html">rs.syncFrom()</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/method/js-sharding.html">Sharding Methods</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.addShard.html">sh.addShard()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.addShardTag.html">sh.addShardTag()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.addShardToZone.html">sh.addShardToZone()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.addTagRange.html">sh.addTagRange()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.disableBalancing.html">sh.disableBalancing()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.enableBalancing.html">sh.enableBalancing()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.disableAutoSplit.html">sh.disableAutoSplit</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.enableAutoSplit.html">sh.enableAutoSplit</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.enableSharding.html">sh.enableSharding()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.getBalancerHost.html">sh.getBalancerHost()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.getBalancerState.html">sh.getBalancerState()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.removeTagRange.html">sh.removeTagRange()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.removeRangeFromZone.html">sh.removeRangeFromZone()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.help.html">sh.help()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.isBalancerRunning.html">sh.isBalancerRunning()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.moveChunk.html">sh.moveChunk()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.removeShardTag.html">sh.removeShardTag()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.removeShardFromZone.html">sh.removeShardFromZone()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.setBalancerState.html">sh.setBalancerState()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.shardCollection.html">sh.shardCollection()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.splitAt.html">sh.splitAt()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.splitFind.html">sh.splitFind()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.startBalancer.html">sh.startBalancer()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.status.html">sh.status()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.stopBalancer.html">sh.stopBalancer()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.waitForBalancer.html">sh.waitForBalancer()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.waitForBalancerOff.html">sh.waitForBalancerOff()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.waitForPingChange.html">sh.waitForPingChange()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sh.updateZoneKeyRange.html">sh.updateZoneKeyRange()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/convertShardKeyToHashed.html">convertShardKeyToHashed</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/method/js-free-monitoring.html">Free Monitoring Methods</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.disableFreeMonitoring.html">db.disableFreeMonitoring()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.enableFreeMonitoring.html">db.enableFreeMonitoring()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/db.getFreeMonitoringStatus.html">db.getFreeMonitoringStatus</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/method/js-constructor.html">Object Constructors and Methods</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/method/BulkWriteResult.html">BulkWriteResult()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Date.html">Date()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/ObjectId.html">ObjectId</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/ObjectId.getTimestamp.html">ObjectId.getTimestamp()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/ObjectId.toString.html">ObjectId.toString()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/ObjectId.valueOf.html">ObjectId.valueOf()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/UUID.html">UUID()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/WriteResult.html">WriteResult()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/WriteResult.hasWriteError.html">WriteResult.hasWriteError()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/WriteResult.hasWriteConcernError.html">WriteResult.hasWriteConcernError()</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/method/js-connection.html">Connection Methods</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/method/connect.html">connect()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Mongo.html">Mongo()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Mongo.getDB.html">Mongo.getDB()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Mongo.getReadPrefMode.html">Mongo.getReadPrefMode()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Mongo.getReadPrefTagSet.html">Mongo.getReadPrefTagSet()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Mongo.isCausalConsistency.html">Mongo.isCausalConsistency()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Mongo.setCausalConsistency.html">Mongo.setCausalConsistency()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Mongo.setReadPref.html">Mongo.setReadPref()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Mongo.setSlaveOk.html">Mongo.setSlaveOk()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Mongo.startSession.html">Mongo.startSession()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Mongo.watch.html">Mongo.watch()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/Session.html">Session</a><ul><li class="toctree-l5"><a class="reference internal" href="../reference/method/Session.abortTransaction.html">Session.abortTransaction()</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/method/Session.commitTransaction.html">Session.commitTransaction()</a></li><li class="toctree-l5"><a class="reference internal" href="../reference/method/Session.startTransaction.html">Session.startTransaction()</a></li></ul></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/SessionOptions.html">SessionOptions</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/method/js-native.html">Native Methods</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/method/cat.html">cat()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/cd.html">cd()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/copyDbpath.html">copyDbpath()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/getHostName.html">getHostName()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/getMemInfo.html">getMemInfo()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/hostname.html">hostname()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/isInteractive.html">isInteractive()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/listFiles.html">listFiles()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/load.html">load()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/ls.html">ls()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/md5sumFile.html">md5sumFile()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/mkdir.html">mkdir()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/pwd.html">pwd()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/quit.html">quit()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/removeFile.html">removeFile()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/resetDbpath.html">resetDbpath()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/sleep.html">sleep()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/setVerboseShell.html">setVerboseShell()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/version.html">version()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/isWindows.html">_isWindows()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/rand.html">_rand()</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="../reference/method/js-client-side-field-level-encryption.html">Client-Side Field Level Encryption Methods</a><ul><li class="toctree-l4"><a class="reference internal" href="../reference/method/getKeyVault.html">getKeyVault()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/KeyVault.createKey.html">KeyVault.createKey()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/KeyVault.deleteKey.html">KeyVault.deleteKey()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/KeyVault.getKey.html">KeyVault.getKey()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/KeyVault.getKeys.html">KeyVault.getKeys()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/KeyVault.addKeyAlternateName.html">KeyVault.addKeyAlternateName()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/KeyVault.removeKeyAlternateName.html">KeyVault.removeKeyAlternateName()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/KeyVault.getKeyByAltName.html">KeyVault.getKeyByAltName()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/getClientEncryption.html">getClientEncryption()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/ClientEncryption.encrypt.html">ClientEncryption.encrypt()</a></li><li class="toctree-l4"><a class="reference internal" href="../reference/method/ClientEncryption.decrypt.html">ClientEncryption.decrypt()</a></li></ul></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../reference/program.html">MongoDB Package Components</a><ul><li class="toctree-l3"><a class="reference internal" href="../reference/program/mongod.html"><code class="docutils literal"><span class="pre">mongod</span></code></a></li><li class="toctree-l3"><a class="reference internal" href="../reference/program/mongos.html"><code class="docutils literal"><span class="pre">mongos</span></code></a></li><li class="toctree-l3"><a class="reference internal" href="../reference/program/mongo.html"><code class="docutils literal"><span class="pre">mongo</span></code></a></li><li class="toctree-l3"><a class="reference internal" href="../reference/program/mongod.exe.html"><code class="docutils literal"><span class="pre">mongod.exe</span></code></a></li><li class="toctree-l3"><a class="reference internal" href="../reference/program/mongos.exe.html"><code class="docutils literal"><span class="pre">mongos.exe</span></code></a></li><li class="toctree-l3"><a class="reference internal" href="../reference/program/mongodump.html"><code class="docutils literal"><span class="pre">mongodump</span></code></a></li><li class="toctree-l3"><a class="reference internal" href="../reference/program/mongorestore.html"><code class="docutils literal"><span class="pre">mongorestore</span></code></a></li><li class="toctree-l3"><a class="reference internal" href="../reference/program/bsondump.html"><code class="docutils literal"><span class="pre">bsondump</span></code></a></li><li class="toctree-l3"><a class="reference internal" href="../reference/program/mongoimport.html"><code class="docutils literal"><span class="pre">mongoimport</span></code></a></li><li class="toctree-l3"><a class="reference internal" href="../reference/program/mongoexport.html"><code class="docutils literal"><span class="pre">mongoexport</span></code></a></li><li class="toctree-l3"><a class="reference internal" href="../reference/program/mongostat.html"><code class="docutils literal"><span class="pre">mongostat</span></code></a></li><li class="toctree-l3"><a class="reference internal" href="../reference/program/mongotop.html"><code class="docutils literal"><span class="pre">mongotop</span></code></a></li><li class="toctree-l3"><a class="reference internal" href="../reference/program/mongoreplay.html"><code class="docutils literal"><span class="pre">mongoreplay</span></code></a></li><li class="toctree-l3"><a class="reference internal" href="../reference/program/mongoldap.html"><code class="docutils literal"><span class="pre">mongoldap</span></code></a></li><li class="toctree-l3"><a class="reference internal" href="../reference/program/mongofiles.html"><code class="docutils literal"><span class="pre">mongofiles</span></code></a></li><li class="toctree-l3"><a class="reference internal" href="../reference/program/install_compass.html"><code class="docutils literal"><span class="pre">install_compass</span></code></a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../reference/configuration-options.html">Configuration File Options</a><ul><li class="toctree-l3"><a class="reference internal" href="../reference/expansion-directives.html">Externally Sourced Configuration File Values</a></li><li class="toctree-l3"><a class="reference internal" href="../tutorial/convert-command-line-options-to-yaml.html">Convert Command-Line Options to YAML</a></li><li class="toctree-l3"><a class="reference internal" href="../reference/configuration-file-settings-command-line-options-mapping.html">Configuration File Settings and Command-Line Options Mapping</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../reference/parameters.html">MongoDB Server Parameters</a></li><li class="toctree-l2"><a class="reference internal" href="../reference/limits.html">MongoDB Limits and Thresholds</a></li><li class="toctree-l2"><a class="reference internal" href="../reference/explain-results.html">Explain Results</a></li><li class="toctree-l2"><a class="reference internal" href="../reference/system-collections.html">System Collections</a></li><li class="toctree-l2"><a class="reference internal" href="../reference/connection-string.html">Connection String URI Format</a></li><li class="toctree-l2"><a class="reference internal" href="../reference/collation.html">Collation</a><ul><li class="toctree-l3"><a class="reference internal" href="../reference/collation-locales-defaults.html">Collation Locales and Default Parameters</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="../reference/mongodb-wire-protocol.html">MongoDB Wire Protocol</a></li><li class="toctree-l2"><a class="reference internal" href="../reference/log-messages.html">Log Messages</a></li><li class="toctree-l2"><a class="reference internal" href="../reference/exit-codes.html">Exit Codes and Statuses</a></li><li class="toctree-l2"><a class="reference internal" href="../reference/glossary.html">Glossary</a></li><li class="toctree-l2"><a class="reference internal" href="../reference/default-mongodb-port.html">Default MongoDB Port</a></li><li class="toctree-l2"><a class="reference internal" href="../reference/server-sessions.html">Server Sessions</a></li></ul></li><li class="toctree-l1 current"><a class="reference internal" href="../release-notes.html">Release Notes</a><ul class="current"><li class="toctree-l2"><a class="reference internal" href="4.2.html">Release Notes for MongoDB 4.2</a><ul><li class="toctree-l3"><a class="reference internal" href="4.2-compatibility.html">Compatibility Changes in MongoDB 4.2</a></li><li class="toctree-l3"><a class="reference internal" href="4.2-upgrade-standalone.html">Upgrade a Standalone to 4.2</a></li><li class="toctree-l3"><a class="reference internal" href="4.2-upgrade-replica-set.html">Upgrade a Replica Set to 4.2</a></li><li class="toctree-l3"><a class="reference internal" href="4.2-upgrade-sharded-cluster.html">Upgrade a Sharded Cluster to 4.2</a></li><li class="toctree-l3"><a class="reference internal" href="4.2-downgrade.html">Downgrade 4.2 to 4.0</a><ul><li class="toctree-l4"><a class="reference internal" href="4.2-downgrade-standalone.html">Downgrade 4.2 Standalone to 4.0</a></li><li class="toctree-l4"><a class="reference internal" href="4.2-downgrade-replica-set.html">Downgrade 4.2 Replica Set to 4.0</a></li><li class="toctree-l4"><a class="reference internal" href="4.2-downgrade-sharded-cluster.html">Downgrade 4.2 Sharded Cluster to 4.0</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="4.2-changelog.html">4.2 Changelog</a></li></ul></li><li class="toctree-l2 current"><a class="reference internal" href="4.0.html">Release Notes for MongoDB 4.0</a><ul class="current"><li class="toctree-l3"><a class="reference internal" href="4.0-compatibility.html">Compatibility Changes in MongoDB 4.0</a></li><li class="toctree-l3"><a class="reference internal" href="4.0-upgrade-standalone.html">Upgrade a Standalone to 4.0</a></li><li class="toctree-l3"><a class="reference internal" href="4.0-upgrade-replica-set.html">Upgrade a Replica Set to 4.0</a></li><li class="toctree-l3"><a class="reference internal" href="4.0-upgrade-sharded-cluster.html">Upgrade a Sharded Cluster to 4.0</a></li><li class="toctree-l3"><a class="reference internal" href="4.0-downgrade-standalone.html">Downgrade 4.0 Standalone to 3.6</a></li><li class="toctree-l3"><a class="reference internal" href="4.0-downgrade-replica-set.html">Downgrade 4.0 Replica Set to 3.6</a></li><li class="toctree-l3"><a class="reference internal" href="4.0-downgrade-sharded-cluster.html">Downgrade 4.0 Sharded Cluster to 3.6</a></li><li class="toctree-l3 current"><a class="reference internal current" href="">4.0 Changelog</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="3.6.html">Release Notes for MongoDB 3.6</a><ul><li class="toctree-l3"><a class="reference internal" href="3.6-changelog.html">3.6 Changelog</a></li><li class="toctree-l3"><a class="reference internal" href="3.6-compatibility.html">Compatibility Changes in MongoDB 3.6</a></li><li class="toctree-l3"><a class="reference internal" href="3.6-upgrade-standalone.html">Upgrade a Standalone to 3.6</a></li><li class="toctree-l3"><a class="reference internal" href="3.6-upgrade-replica-set.html">Upgrade a Replica Set to 3.6</a></li><li class="toctree-l3"><a class="reference internal" href="3.6-upgrade-sharded-cluster.html">Upgrade a Sharded Cluster to 3.6</a></li><li class="toctree-l3"><a class="reference internal" href="3.6-downgrade-standalone.html">Downgrade 3.6 Standalone to 3.4</a></li><li class="toctree-l3"><a class="reference internal" href="3.6-downgrade-replica-set.html">Downgrade 3.6 Replica Set to 3.4</a></li><li class="toctree-l3"><a class="reference internal" href="3.6-downgrade-sharded-cluster.html">Downgrade 3.6 Sharded Cluster to 3.4</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="3.4.html">Release Notes for MongoDB 3.4</a><ul><li class="toctree-l3"><a class="reference internal" href="3.4-changelog.html">3.4 Changelog</a></li><li class="toctree-l3"><a class="reference internal" href="3.4-compatibility.html">Compatibility Changes in MongoDB 3.4</a></li><li class="toctree-l3"><a class="reference internal" href="3.4-upgrade-standalone.html">Upgrade a Standalone to 3.4</a></li><li class="toctree-l3"><a class="reference internal" href="3.4-upgrade-replica-set.html">Upgrade a Replica Set to 3.4</a></li><li class="toctree-l3"><a class="reference internal" href="3.4-upgrade-sharded-cluster.html">Upgrade a Sharded Cluster to 3.4</a></li><li class="toctree-l3"><a class="reference internal" href="3.4-downgrade.html">Downgrade MongoDB 3.4 to 3.2</a><ul><li class="toctree-l4"><a class="reference internal" href="3.4-downgrade-standalone.html">Downgrade 3.4 Standalone to 3.2</a></li><li class="toctree-l4"><a class="reference internal" href="3.4-downgrade-replica-set.html">Downgrade 3.4 Replica Set to 3.2</a></li><li class="toctree-l4"><a class="reference internal" href="3.4-downgrade-sharded-cluster.html">Downgrade 3.4 Sharded Cluster to 3.2</a></li></ul></li></ul></li><li class="toctree-l2"><a class="reference internal" href="3.2.html">Release Notes for MongoDB 3.2</a><ul><li class="toctree-l3"><a class="reference internal" href="3.2-changelog.html">3.2 Changelog</a></li><li class="toctree-l3"><a class="reference internal" href="3.2-compatibility.html">Compatibility Changes in MongoDB 3.2</a><ul><li class="toctree-l4"><a class="reference internal" href="3.2-javascript.html">JavaScript Changes in MongoDB 3.2</a></li></ul></li><li class="toctree-l3"><a class="reference internal" href="3.2-upgrade.html">Upgrade MongoDB to 3.2</a></li><li class="toctree-l3"><a class="reference internal" href="3.2-downgrade.html">Downgrade MongoDB from 3.2</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="3.0.html">Release Notes for MongoDB 3.0</a><ul><li class="toctree-l3"><a class="reference internal" href="3.0-changelog.html">3.0 Changelog</a></li><li class="toctree-l3"><a class="reference internal" href="3.0-compatibility.html">Compatibility Changes in MongoDB 3.0</a></li><li class="toctree-l3"><a class="reference internal" href="3.0-upgrade.html">Upgrade MongoDB to 3.0</a></li><li class="toctree-l3"><a class="reference internal" href="3.0-scram.html">Upgrade to SCRAM</a></li><li class="toctree-l3"><a class="reference internal" href="3.0-downgrade.html">Downgrade MongoDB from 3.0</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="2.6.html">Release Notes for MongoDB 2.6</a><ul><li class="toctree-l3"><a class="reference internal" href="2.6-changelog.html">2.6 Changelog</a></li><li class="toctree-l3"><a class="reference internal" href="2.6-compatibility.html">Compatibility Changes in MongoDB 2.6</a></li><li class="toctree-l3"><a class="reference internal" href="2.6-upgrade.html">Upgrade MongoDB to 2.6</a></li><li class="toctree-l3"><a class="reference internal" href="2.6-upgrade-authorization.html">Upgrade User Authorization Data to 2.6 Format</a></li><li class="toctree-l3"><a class="reference internal" href="2.6-downgrade.html">Downgrade MongoDB from 2.6</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="2.4.html">Release Notes for MongoDB 2.4</a><ul><li class="toctree-l3"><a class="reference internal" href="2.4-changelog.html">2.4 Changelog</a></li><li class="toctree-l3"><a class="reference internal" href="2.4-javascript.html">JavaScript Changes in MongoDB 2.4</a></li><li class="toctree-l3"><a class="reference internal" href="2.4-upgrade.html">Upgrade MongoDB to 2.4</a></li><li class="toctree-l3"><a class="reference internal" href="2.4-index-types.html">Compatibility and Index Type Changes in MongoDB 2.4</a></li></ul></li><li class="toctree-l2"><a class="reference internal" href="2.2.html">Release Notes for MongoDB 2.2</a></li><li class="toctree-l2"><a class="reference internal" href="2.0.html">Release Notes for MongoDB 2.0</a></li><li class="toctree-l2"><a class="reference internal" href="1.8.html">Release Notes for MongoDB 1.8</a></li><li class="toctree-l2"><a class="reference internal" href="1.6.html">Release Notes for MongoDB 1.6</a></li><li class="toctree-l2"><a class="reference internal" href="1.4.html">Release Notes for MongoDB 1.4</a></li><li class="toctree-l2"><a class="reference internal" href="1.2.html">Release Notes for MongoDB 1.2.x</a></li><li class="toctree-l2"><a class="reference internal" href="../reference/versioning.html">MongoDB Versioning</a></li></ul></li><li class="toctree-l1"><a class="reference internal" href="../support.html">Technical Support</a></li></ul>


    </div>
  </div>
           
         </aside>

   </div>

    <div id="main-column" class="main-column">

    <span id="showNav" class="showNav">Navigation</span>

      
        <div class="document">
            <div class="documentwrapper"><div class="bodywrapper">
              <div class="body" data-pagename="release-notes/4.0-changelog">
                   <a class="edit-link" href="https://github.com/mongodb/docs/blob/v4.2/source/release-notes/4.0-changelog.txt" target="_blank" title="Edit release-notes/4.0-changelog.txt on GitHub">
    
      <span class="icon-edit"></span>
    
  </a>
                

                
  <div class="bc">
    
      <ul>
          <li><a href="../release-notes.html">Release Notes</a><span class="bcpoint"> > </span></li>
            
          <li><a href="4.0.html">Release Notes for MongoDB 4.0</a><span class="bcpoint"> > </span></li>
            <li>4.0 Changelog</li> 
      </ul>
    
    
  </div>
                
                  <div class="section" id="changelog">
<h1>4.0 Changelog<a class="headerlink" href="#changelog" title="Permalink to this headline">¶</a></h1>
<div class="contents twocols local topic" id="on-this-page">
<p class="topic-title first">On this page</p>
<ul class="simple">
<li><a class="reference internal" href="#id1" id="id181">4.0.18 Changelog</a></li>
<li><a class="reference internal" href="#id3" id="id182">4.0.17 Changelog</a></li>
<li><a class="reference internal" href="#id9" id="id183">4.0.16 Changelog</a></li>
<li><a class="reference internal" href="#id16" id="id184">4.0.15 Changelog</a></li>
<li><a class="reference internal" href="#id27" id="id185">4.0.14 Changelog</a></li>
<li><a class="reference internal" href="#id38" id="id186">4.0.13 Changelog</a></li>
<li><a class="reference internal" href="#id48" id="id187">4.0.12 Changelog</a></li>
<li><a class="reference internal" href="#id57" id="id188">4.0.11 Changelog</a></li>
<li><a class="reference internal" href="#id68" id="id189">4.0.10 Changelog</a></li>
<li><a class="reference internal" href="#id78" id="id190">4.0.9 Changelog</a></li>
<li><a class="reference internal" href="#id88" id="id191">4.0.8 Changelog</a></li>
<li><a class="reference internal" href="#id98" id="id192">4.0.7 Changelog</a></li>
<li><a class="reference internal" href="#id110" id="id193">4.0.6 Changelog</a></li>
<li><a class="reference internal" href="#id121" id="id194">4.0.5 Changelog</a></li>
<li><a class="reference internal" href="#id133" id="id195">4.0.4 Changelog</a></li>
<li><a class="reference internal" href="#id144" id="id196">4.0.3 Changelog</a></li>
<li><a class="reference internal" href="#id157" id="id197">4.0.2 Changelog</a></li>
<li><a class="reference internal" href="#id169" id="id198">4.0.1 Changelog</a></li>
</ul>
</div>
<div class="section" id="id1">
<span id="id2"></span><h2>4.0.18 Changelog<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h2>
<div class="section" id="security">
<h3>Security<a class="headerlink" href="#security" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-46834">SERVER-46834</a> Use monotonic time in UserCacheInvalidator</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-47113">SERVER-47113</a> LDAP connection pool acquisition state should own host list</li>
</ul>
</div>
<div class="section" id="sharding">
<h3>Sharding<a class="headerlink" href="#sharding" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-29153">SERVER-29153</a> Make sure replica set nodes agree on which node is primary before doing writes in ShardingTest initialization</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44463">SERVER-44463</a> insertConfigDocumentsAsRetryableWrite() incorrectly calculates BSON array overhead</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45119">SERVER-45119</a> CollectionShardingState::getCurrentShardVersionIfKnown returns collection version instead of shard version</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-46307">SERVER-46307</a> database_versioning_safe_secondary_reads.js should not set “votes: 0” on the shard secondaries</li>
</ul>
</div>
<div class="section" id="replication">
<h3>Replication<a class="headerlink" href="#replication" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-33627">SERVER-33627</a> Initial syncer needs to handle exception</p>
</div>
<div class="section" id="query">
<h3>Query<a class="headerlink" href="#query" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-32903">SERVER-32903</a> Ambiguous field name error should be ignored during initial sync</p>
</div>
<div class="section" id="operations">
<h3>Operations<a class="headerlink" href="#operations" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34199">SERVER-34199</a> “timing” section of serverStatus can have large impact on ftdc retention</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41117">SERVER-41117</a> Blacklist autocomplete.js from parallel testing</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44892">SERVER-44892</a> getShardDistribution should use $collStats agg stage instead of collStats command</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-46024">SERVER-46024</a> Collect /proc/vmstat swap statistics in FTDC</li>
</ul>
</div>
<div class="section" id="build-and-packaging">
<h3>Build and Packaging<a class="headerlink" href="#build-and-packaging" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-46983">SERVER-46983</a> Upload repobuilding packages to correct URL</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-46996">SERVER-46996</a> all push/publish_packages tasks should run on small hosts</li>
</ul>
</div>
<div class="section" id="internals">
<h3>Internals<a class="headerlink" href="#internals" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-30739">SERVER-30739</a> config_server_checks.js should assert if initial replSetConfig fails</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36467">SERVER-36467</a> continuous stepdown overrides should maintain parameters</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37148">SERVER-37148</a> Remove mr_shard_version.js and mr_during_migrate.js in favor of MR FSM test</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38119">SERVER-38119</a> Windows dump file naming does not account for dots in directory names</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42278">SERVER-42278</a> Log SockAddrs produced during LDAP connection establishment with manually derived sizes</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43763">SERVER-43763</a> Figure out if global LDAP synchronization can be disabled when libldap is built with OpenSSL.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45050">SERVER-45050</a> Change Windows Kerberos client to use default credentials when no password is specified</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45156">SERVER-45156</a> SockAddr constructor should take sockaddr, not sockaddr_storage</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45867">SERVER-45867</a> Use latest version of signal processing</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-46754">SERVER-46754</a> Use new repobuilder service</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-46766">SERVER-46766</a> Teardown clusters after every perf run</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-46851">SERVER-46851</a> Decrease the number of jobs in logical session cache tests</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-46899">SERVER-46899</a> Fix tcmallocReleaseRate parameter in 4.0 and 3.6</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-47080">SERVER-47080</a> Enable verbose logging for LDAP tests</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-47114">SERVER-47114</a> Make ldapproxy.py use IOCP on Windows</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-5119">WT-5119</a> Birthmark records can be read as normal updates if reads race with checkpoints</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-5376">WT-5376</a> WT_UPDATE.type field can race with visibility checks when returning key/value pairs</li>
</ul>
</div>
</div>
<div class="section" id="id3">
<span id="id4"></span><h2>4.0.17 Changelog<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2>
<div class="section" id="id5">
<h3>Sharding<a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44598">SERVER-44598</a> Shards do not treat the IGNORED version as “intended sharded”</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45273">SERVER-45273</a> Remove the mongos version check in allow_partial_results.js and return_partial_shards_down.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45599">SERVER-45599</a> Backport the changes to CollectionShardingState done as part of SERVER-32198 to 4.0</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45770">SERVER-45770</a> Add to information contained in logfile about “moveChunk.to”</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-46001">SERVER-46001</a> Move checkShardingIndex outside shardCollection’s read critical section on the primary shard</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-46466">SERVER-46466</a> Race with findAndModify retryable write and session migration</li>
</ul>
</div>
<div class="section" id="id6">
<h3>Replication<a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34768">SERVER-34768</a> Rollback can fail if run against a lagged node that catches up</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35050">SERVER-35050</a> Don’t abort collection clone due to negative document count</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35437">SERVER-35437</a> Wait for secondary state after stepdown command in multi_rs.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39112">SERVER-39112</a> Primary drain mode can be unnecessarily slow</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39495">SERVER-39495</a> Shard key is omitted from update and remove oplog entries with multi:true</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42219">SERVER-42219</a> Oplog buffer not always empty when primary exits drain mode</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43867">SERVER-43867</a> Work around unrecoverability of rollback via refetch in tests</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45178">SERVER-45178</a> Rollback via refetch can cause rollback to happen successfully w/o updating the rollback id.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45493">SERVER-45493</a> temporarily disable failing assertion in election_candidate_and_participant_metrics.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45840">SERVER-45840</a> Blacklist tests that run emptycapped from replica_sets_kill_secondaries_jscore_passthrough</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-46050">SERVER-46050</a> Use getLastAppliedOpTime rather than getHeartbeatAppliedOpTime for checking primary’s position</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-46238">SERVER-46238</a> Race between commitTransaction and transaction expiration leads to invariant</li>
</ul>
</div>
<div class="section" id="id7">
<h3>Query<a class="headerlink" href="#id7" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45363">SERVER-45363</a> Issue with mongodb text indexes and weights when using wildcard specifier</p>
</div>
<div class="section" id="aggregation">
<h3>Aggregation<a class="headerlink" href="#aggregation" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45418">SERVER-45418</a> DocumentSourceCursor batching memory accounting does not account for empty documents, leads to unbounded memory use for count-like aggregates</p>
</div>
<div class="section" id="id8">
<h3>Internals<a class="headerlink" href="#id8" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40014">SERVER-40014</a> System-Perf: Default is_patch expansion to false</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44325">SERVER-44325</a> Add polyfill for certificate chain verification</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44435">SERVER-44435</a> Allow x509 authorization to be selectively enabled based on the CA</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44853">SERVER-44853</a> MSI Should skip install MongoD service dialog when mongod is not selected to be installed</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45766">SERVER-45766</a> Remove “requires” from the server yaml</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-46082">SERVER-46082</a> Use bin/analysis.py for performance projects</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-46126">SERVER-46126</a> LDAP proxy and mongod startup race in ldap_insuffcient_access_rights.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-46174">SERVER-46174</a> Free peer certificate in SSL_get0_verified_chain polyfill</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-46365">SERVER-46365</a> getMore command before rs.initiate() can trip invariant</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-46630">SERVER-46630</a> RemoveSaver writes GCM tag to incorrect file position</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-5150">WT-5150</a> LAS sweep is not removing the entries that are no longer required</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-5192">WT-5192</a> Don’t allow checkpoints to evict without a snapshot</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-5263">WT-5263</a> Prepared updates written to the lookaside file are not always read as needed</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-5395">WT-5395</a> Fix a bug in the read lock implementation when there is a lot of contention</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-5587">WT-5587</a> Limit how many checkpoints are dropped by a subsequent checkpoint</li>
</ul>
</div>
</div>
<div class="section" id="id9">
<span id="id10"></span><h2>4.0.16 Changelog<a class="headerlink" href="#id9" title="Permalink to this headline">¶</a></h2>
<div class="section" id="id11">
<h3>Sharding<a class="headerlink" href="#id11" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44103">SERVER-44103</a> clear_jumbo.js should wait for balancer to be on mode: full for more than one round</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44130">SERVER-44130</a> Flip order of assert.lte arguments in logical_time_metadata.js</li>
</ul>
</div>
<div class="section" id="id12">
<h3>Replication<a class="headerlink" href="#id12" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45758">SERVER-45758</a> Add sleep to TimeInactiveMicrosShouldBeSetUponUnstashAndStash  in session_test</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45761">SERVER-45761</a> Use same clock for test and working code in session_test [v4.0]</li>
</ul>
</div>
<div class="section" id="id13">
<h3>Query<a class="headerlink" href="#id13" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44658">SERVER-44658</a> Add correct tags for noPassthrough/max_time_ms.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45279">SERVER-45279</a> GranularityRounder can get stuck in loop when rounding infinity</li>
</ul>
</div>
<div class="section" id="storage">
<h3>Storage<a class="headerlink" href="#storage" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38794">SERVER-38794</a> CollectionOptions can be lost in createCollection if a write conflict exception is thrown</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45289">SERVER-45289</a> Conditional jump or move depends on uninitialised value(s) in validate_adaptor.cpp</li>
</ul>
</div>
<div class="section" id="id14">
<h3>Build and Packaging<a class="headerlink" href="#id14" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45713">SERVER-45713</a> Run rhel7 push and publish tasks on large rhel70 distro</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45732">SERVER-45732</a> Filter flags from net-snmp-config invocation more aggressively</li>
</ul>
</div>
<div class="section" id="id15">
<h3>Internals<a class="headerlink" href="#id15" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40047">SERVER-40047</a> Test for blocking queue should not test for non-guaranteed condition</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42573">SERVER-42573</a> Only warn about readConcernMajority enabled in primary-secondary-arbiter configuration</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45486">SERVER-45486</a> Add information to debug index key count mismatch issue  in ‘hashed_index_bad_keys_cleanup.js’</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45831">SERVER-45831</a> [4.0] Performance regression processing large aggregation commands</li>
</ul>
</div>
</div>
<div class="section" id="id16">
<span id="id17"></span><h2>4.0.15 Changelog<a class="headerlink" href="#id16" title="Permalink to this headline">¶</a></h2>
<div class="section" id="id18">
<h3>Security<a class="headerlink" href="#id18" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45309">SERVER-45309</a> Ensure bind credentials live longer than LDAP operations</p>
</div>
<div class="section" id="id19">
<h3>Sharding<a class="headerlink" href="#id19" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-33597">SERVER-33597</a> Make allow_partial_results.js, return_partial_shards_down.js start shards as replica sets</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36865">SERVER-36865</a> make fsm workloads that extend kill_rooted_or.js more robust in the sharded concurrency suites, or blacklist them</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43195">SERVER-43195</a> Add namespace to ChunkManager ShardKeyNotFound failure in order to better diagnose failures.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44341">SERVER-44341</a> Do not choose only first shard of all shards associated with a zone when pre-splitting during shard collection</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45100">SERVER-45100</a> Make the BatchWriteExecutor retry multi-writes only against unsuccessful shards</li>
</ul>
</div>
<div class="section" id="id20">
<h3>Replication<a class="headerlink" href="#id20" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35407">SERVER-35407</a> ReplicationCoordinatorExternalState and data replication must not be started after shutdown</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44061">SERVER-44061</a> Race while setting replication maintenance mode.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44503">SERVER-44503</a> Race in replsets/auth2.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45396">SERVER-45396</a> fix the “me” field in isMaster responses when using splithorizon</li>
</ul>
</div>
<div class="section" id="id21">
<h3>Query<a class="headerlink" href="#id21" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42565">SERVER-42565</a> Aggregations and find commands sort missing fields differently</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45152">SERVER-45152</a> Negation of inequality on array can trip invariant</li>
</ul>
</div>
<div class="section" id="id22">
<h3>Aggregation<a class="headerlink" href="#id22" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44733">SERVER-44733</a> Change stream should throw ChangeStreamFatalError if a single shard cannot be targeted for updateLookup</p>
</div>
<div class="section" id="id23">
<h3>Storage<a class="headerlink" href="#id23" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43910">SERVER-43910</a> include Client/OpCtx information in LockManager::dump() output</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44796">SERVER-44796</a> Adjust nojournal startup warning to be more compelling</li>
</ul>
</div>
<div class="section" id="id24">
<h3>Operations<a class="headerlink" href="#id24" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45290">SERVER-45290</a> Remove upstream metadata from v4.2’s third party library manifest</p>
</div>
<div class="section" id="id25">
<h3>Build and Packaging<a class="headerlink" href="#id25" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44550">SERVER-44550</a> Remove mobile specific embedded commands</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45346">SERVER-45346</a> Ubuntu 18.04 package testing task fails to install openssl</li>
</ul>
</div>
<div class="section" id="id26">
<h3>Internals<a class="headerlink" href="#id26" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34844">SERVER-34844</a> Relax expectations in apply_batches_totalMillis</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37406">SERVER-37406</a> A stashed Locker should keep information about the owning transaction</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39131">SERVER-39131</a> Refactor storage engine lock file support</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43210">SERVER-43210</a> jstests/sharding/kill_sessions.js doesn’t wait for operation to be killed.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43246">SERVER-43246</a> Add a log line for when a cursor is reaped due to logical session cleanup</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43349">SERVER-43349</a> Incorrect serialization for $elemMatch $not $ne</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44578">SERVER-44578</a> Remove unused db_raii and server_status libs from storage_wiredtiger_core’s LIBDEPS_PRIVATE</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44828">SERVER-44828</a> Correct logic to re-compute dependencies after absorbing a $sort into query layer</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-45472">SERVER-45472</a> Ensure RoleGraph can serialize authentication restrictions to BSON</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4636">WT-4636</a> Fix strace in syscall test</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-5042">WT-5042</a> Reduce configuration parsing overhead from checkpoints</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-5106">WT-5106</a> Remove temporary files in clang-format script</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-5112">WT-5112</a>  Handling goto labels with multiple words in s_goto.py</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-5120">WT-5120</a> Checkpoint hangs when reconciliation doesn’t release the eviction generation</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-5125">WT-5125</a> Adding new stats for eviction target strategy</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-5135">WT-5135</a> Change lookaside file inserts to use cursor.insert</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-5169">WT-5169</a> WT_REF_LIMBO pages cannot support fast (leaf-page only) searches</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-5196">WT-5196</a> Data mismatch failures with test/checkpoint after enabling LAS sweep</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-5218">WT-5218</a> Improve eviction to differentiate between clean and dirty pages with WT_CACHE_EVICT_NOKEEP readgen</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-5239">WT-5239</a> Fix syscall failure about metadata file open</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-5247">WT-5247</a> Ensure that only idempotent modify operations are logged</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-5277">WT-5277</a> Cursor key out-of-order detected in the lookaside file</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-5297">WT-5297</a> syscall.py fail on mongodb-4.0</li>
</ul>
</div>
</div>
<div class="section" id="id27">
<span id="id28"></span><h2>4.0.14 Changelog<a class="headerlink" href="#id27" title="Permalink to this headline">¶</a></h2>
<div class="section" id="id29">
<h3>Security<a class="headerlink" href="#id29" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-28011">SERVER-28011</a> Support multiple KMIP hosts in the –kmipServerName parameter</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43090">SERVER-43090</a> Fix LDAP connection health tests with Okta</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43653">SERVER-43653</a> Upgrade static OpenSSL to 1.1.1d</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44320">SERVER-44320</a> Allow zoned sharding commands to be authorized via actiontypes</li>
</ul>
</div>
<div class="section" id="id30">
<h3>Sharding<a class="headerlink" href="#id30" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-31083">SERVER-31083</a> Allow passing primary shard to “enableSharding” command for a new database</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42737">SERVER-42737</a> MongoDB stuck on update metadata</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42914">SERVER-42914</a> Implement random chunk selection policy for balancer for use in concurrency_*_with_balancer workloads</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44476">SERVER-44476</a> Include number of jumbo chunks remaining in output of removeShard</li>
</ul>
</div>
<div class="section" id="id31">
<h3>Replication<a class="headerlink" href="#id31" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41504">SERVER-41504</a> Track the number of ops during catchup in replSetStatus on primaries</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41505">SERVER-41505</a> Track the average number of catchup ops in serverStatus</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41506">SERVER-41506</a> Track metrics associated with a node calling an election</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41507">SERVER-41507</a> Track the time the new term oplog entry was written in replSetStatus on primaries</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41508">SERVER-41508</a> Track the time the new term oplog entry was majority committed in replSetStatus on primaries</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41512">SERVER-41512</a> Track metrics associated with a node voting in an election</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41513">SERVER-41513</a> Track the time the new term oplog entry was written by the primary and applied by secondary in replSetStatus on all nodes</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42534">SERVER-42534</a> Step down primary for less time in freeze_timeout.js and increase electionTimeoutMillis</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43239">SERVER-43239</a> numCatchUpOps in repSetGetStatus is incorrect</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43398">SERVER-43398</a> Fix race in replSetGetStatus_new_term_oplog_entry_fields.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43695">SERVER-43695</a> Add sleeps to session_test.cpp to account for discrepancy between curTimeMicros and Date_t clock sources [v4.0]</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43703">SERVER-43703</a> Race when disabling rsSyncApplyStop failpoint and stopping server</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43868">SERVER-43868</a> Session::TxnResources::release() can throw exceptions in destructors (4.0.x only)</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43879">SERVER-43879</a> OplogInterfaceLocal::next should return an owned BSON obj</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43972">SERVER-43972</a> initial_sync_capped_index.js should check SECONDARY state before running validate</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44005">SERVER-44005</a> Improve robustness of rollback_after_enabling_majority_reads.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44643">SERVER-44643</a> Use awaitSecondaryNodes in rollback_after_enabling_majority_reads.js instead of waitForState</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44675">SERVER-44675</a> server_status_metrics.js fails due to racy repl.buffer.count metric in serverStatus</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44788">SERVER-44788</a> Use awaitSecondaryNodes in seed_secondary_without_sessions_table.js instead of waitForState</li>
</ul>
</div>
<div class="section" id="id32">
<h3>Query<a class="headerlink" href="#id32" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-32567">SERVER-32567</a> Replace queryoptimizer3.js with FSM test</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43699">SERVER-43699</a> Find $mod can result in UB</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44050">SERVER-44050</a> Arrays along ‘hashed’ index key path are not correctly rejected</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44269">SERVER-44269</a> Modernize max_time_ms.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44571">SERVER-44571</a> Documents involved in SERVER-44050 corruption scenario cannot be updated or deleted after upgrade</li>
</ul>
</div>
<div class="section" id="id33">
<h3>Aggregation<a class="headerlink" href="#id33" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38691">SERVER-38691</a> serverInfo not present in explain output for aggregation</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42756">SERVER-42756</a> $multiply operator may return with or w/o an error depending on whether pipeline optimisation is enabled</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43034">SERVER-43034</a> Special values handling is inconsistent in DoubleDoubleSummation</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43764">SERVER-43764</a> Add more testing for special values in DoubleDoubleSummation</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44174">SERVER-44174</a> $push and $addToSet should restrict memory usage</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44869">SERVER-44869</a> Add query knob to control memory limit for $push and $addToSet</li>
</ul>
</div>
<div class="section" id="id34">
<h3>Storage<a class="headerlink" href="#id34" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42312">SERVER-42312</a> Validate during rollback can cause count mismatch</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43322">SERVER-43322</a> Add tracking tools for measuring OplogStones performance</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43908">SERVER-43908</a> Modify IndexConsistency hash-map keys to avoid hitting an invariant on duplicate index keys in KeyString form for different indexes</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44188">SERVER-44188</a> [4.0] validate_tests should remove index entries by RecordId obtained from the cursor</li>
</ul>
</div>
<div class="section" id="id35">
<h3>Operations<a class="headerlink" href="#id35" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-28604">SERVER-28604</a> Log when a cursor is reaped for exceeding the timeout</p>
</div>
<div class="section" id="id36">
<h3>Build and Packaging<a class="headerlink" href="#id36" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37766">SERVER-37766</a> Platform Support: Remove Community zSeries From 4.0</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37772">SERVER-37772</a> Platform Support: Add Community &amp; Enterprise RHEL 8 x64</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44392">SERVER-44392</a> Platform Support: Remove zSeries ubuntu 16.04</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44545">SERVER-44545</a> Remove builders for Embedded SDKs on Mobile Platforms</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44546">SERVER-44546</a> Remove mobile specific build and code artifacts</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44687">SERVER-44687</a> error: ‘operator delete’ is unavailable: introduced in macOS 10.12</li>
</ul>
</div>
<div class="section" id="id37">
<h3>Internals<a class="headerlink" href="#id37" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-25025">SERVER-25025</a> Improve startup time when there are tens of thousands of collections/indexes on WiredTiger</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38002">SERVER-38002</a> Upgrade Pcre to at least 8.42</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39574">SERVER-39574</a> Support intermediate certificates in PEMKeyFile on Windows</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40218">SERVER-40218</a> Write out expansions in system_perf.yml with expansions.write</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40669">SERVER-40669</a> install_compass should not explicitly use python3</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40749">SERVER-40749</a> Include execution in generated task configuration file name</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42014">SERVER-42014</a> [4.0] repairDatabase should catch and report exceptions from repairCollections before re-opening the database</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42961">SERVER-42961</a> Fix Split Horizon testing on SLES</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43079">SERVER-43079</a> failpoint triggered by LogicalSessionCacheRefresh</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43085">SERVER-43085</a> Regenerate all testing certificates with SHA-256 instead of SHA-1</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43151">SERVER-43151</a> Error in aggregation assertion at value.cpp:1368</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43241">SERVER-43241</a> Fix Executor failures in ARS dtor during shutdown</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43319">SERVER-43319</a> Increase cursor timeout for ‘concurrency_simultaneous’ fixtures</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43576">SERVER-43576</a> DBClientRS does not propagate applicationName</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43577">SERVER-43577</a> Ensure ssl exceptions that terminate connections are logged.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43741">SERVER-43741</a> scons.py should not swallow the underlying ImportError</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43771">SERVER-43771</a> Make v4.0’s ClockSource::waitForConditionUntil avoid conversion of Date_t::max() to system time</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43843">SERVER-43843</a> Skip validate during the rollback fuzzer “restartNode” command</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43900">SERVER-43900</a> Set max_hosts to 1 for stitch_support_lib_build_and_test and embedded_sdk_build_and_test  task groups</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44006">SERVER-44006</a> Change Packaging License from AGPL to SSPL</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44009">SERVER-44009</a> Upload pip freeze output for sys-perf and microbenchmarks</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44064">SERVER-44064</a> Perform explicit cast on MessageCompressorManager parameter</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44140">SERVER-44140</a> Use signal processing without DSI</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44183">SERVER-44183</a> Failure to listen on an asio socket should be fatal</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44248">SERVER-44248</a> [4.0] Use tojson instead of JSON.stringify in disk/repair_collection_failure.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44312">SERVER-44312</a> Specify evergreen auth in performance tests for signal processing</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44319">SERVER-44319</a> Skip keyfile check in replica_sets/auth1.js on windows</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44567">SERVER-44567</a> Reimplement CommandState destructors for v4.0</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44568">SERVER-44568</a> Update the embedded version of the server’s timezone data file to tzdb-2019c</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44651">SERVER-44651</a> Update signal processing version</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44727">SERVER-44727</a> detect-changes should not be called via run-dsi</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44868">SERVER-44868</a> Initialsync logkeeper and logkeeper-short tests should pass snapshot id and dataset link respectively to dsi(sys-perf)</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44946">SERVER-44946</a> Reenable tests disabled in BACKPORT-4512</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4499">WT-4499</a> Fix prepared transactions for cursor key order check failure</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4520">WT-4520</a> Fix prepare transactions fallout during cursor navigation</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4537">WT-4537</a> Fix WiredTiger cursor prev/next traversal failure on prepare retry</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4617">WT-4617</a> Cursor next/prev returns PREPARE_CONFLICT only once</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4733">WT-4733</a> Change test/format to do longer-term repeatable read testing</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4844">WT-4844</a> Only log an informational message when a set read-timestamp is older than the oldest timestamp.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4899">WT-4899</a> Fix bugs that could allow more than one birthmark in an update chain</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4940">WT-4940</a> Reconciliation should set prepared/uncommitted for each update</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4943">WT-4943</a> Fix a bug where uncommitted updates could be discarded</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4961">WT-4961</a> Checkpoints with cache overflow must keep history for reads</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-5160">WT-5160</a> Stop requiring a checkpoint before calling rollback_to_stable</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-5201">WT-5201</a> Migrate develop test format to mongodb-4.0 branch</li>
</ul>
</div>
</div>
<div class="section" id="id38">
<span id="id39"></span><h2>4.0.13 Changelog<a class="headerlink" href="#id38" title="Permalink to this headline">¶</a></h2>
<div class="section" id="id40">
<h3>Security<a class="headerlink" href="#id40" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43751">SERVER-43751</a> Recompute compressor manager message parameters</p>
</div>
<div class="section" id="id41">
<h3>Sharding<a class="headerlink" href="#id41" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-10456">SERVER-10456</a> get cursor logic used to find docs to clone (in migration) is not same as in removeRange</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36159">SERVER-36159</a> Log whenever the gossiped config server opTime term changes</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36222">SERVER-36222</a> call to ReplSetTest.restart in shard_identity_rollback.js is racy</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36315">SERVER-36315</a> After stepdown the CSRS dist lock manager keeps trying to unlock locks</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41480">SERVER-41480</a> Increment collection major version on chunk splits/merges</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42793">SERVER-42793</a> Autosplit size tracker random initial value is too low</li>
</ul>
</div>
<div class="section" id="id42">
<h3>Replication<a class="headerlink" href="#id42" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34526">SERVER-34526</a> Remove the livenodes list from repl tests</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37173">SERVER-37173</a> rollbackViaRefetch should survive attempt to drop non-existent collection</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38356">SERVER-38356</a> Forbid dropping oplog when replset config is present</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38685">SERVER-38685</a> Startup warning if In-Memory SE is used and writeConcernMajorityJournalDefault is true</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39310">SERVER-39310</a> Check canServeReadsFor in getMores</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40009">SERVER-40009</a> Set/honour initial sync flag at the early stages of initial sync</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40954">SERVER-40954</a> Error message for UnrecoverableRollbackError in FCV 3.6 should recommend downgrading to 3.6</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41218">SERVER-41218</a> rollback_after_enabling_majority_reads.js test should ensure the correct primary before restarting other nodes [v4.0]</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41499">SERVER-41499</a> Track number of elections called for each reason in serverStatus</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41500">SERVER-41500</a> Track number of successful elections for each reason in serverStatus</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41501">SERVER-41501</a> Track the number of elections that require primary catchup in serverStatus</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41502">SERVER-41502</a> Track the number of times primary catchup concludes for each reason in serverStatus</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41503">SERVER-41503</a> Track the target opTime for catchup in replSetStatus on primaries</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41509">SERVER-41509</a> Track the number of attempted stepDowns in serverStatus</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41510">SERVER-41510</a> Track the number of failed stepDowns in serverStatus</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41511">SERVER-41511</a> Track the number of stepdowns caused by seeing a higher term in serverStatus</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41792">SERVER-41792</a> Starting replica set member standalone with recoverFromOplogAsStandalone as true should replay entries from oplog based on the checkpoint we start from.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41918">SERVER-41918</a> CollectionBulkLoader does not anticipate exceptions from MultiIndexBlock</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42129">SERVER-42129</a> Modify test to account for the ephemeralForTest storage engine’s missing oplog after restart</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42155">SERVER-42155</a> Indicate term mismatches when readConcern times out</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42454">SERVER-42454</a> Wait for node to find appropriate sync source before disabling failpoint in do_not_advance_commit_point_beyond_last_applied_term.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42714">SERVER-42714</a> Log replication recovery oplog application completion at level 0</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42767">SERVER-42767</a> Improve logging in ReplSetTest.stopSet</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42910">SERVER-42910</a> Oplog query with higher timestamp but lower term than the sync source shouldn’t time out due to afterClusterTime</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43230">SERVER-43230</a> Fix race in catchup_takeover_two_nodes_ahead.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43245">SERVER-43245</a> Wait for node to be secondary on restart in seed_secondary_without_sessions_table.js</li>
</ul>
</div>
<div class="section" id="id43">
<h3>Query<a class="headerlink" href="#id43" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37690">SERVER-37690</a> countDocuments throws an error when matching 0 document</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40110">SERVER-40110</a> ClusterCursorManager::CursorEntry::isKillPending() should not call checkForInterrupt</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40382">SERVER-40382</a> Add a serverStatus metric to report plan cache memory consumption</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41863">SERVER-41863</a> Make sleep command check that server clock has advanced before returning</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42749">SERVER-42749</a> Ban server_status_with_timeout_cursors from transaction passthroughs</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43074">SERVER-43074</a> Do not use a global variable to encode ‘multikeyPath’ information when writing out catalog documents</li>
</ul>
</div>
<div class="section" id="id44">
<h3>Storage<a class="headerlink" href="#id44" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41909">SERVER-41909</a> Add the ValidateCmd Genny workload to system_perf.yml</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42398">SERVER-42398</a> abortTransaction and commitTransaction commands should not acquire ticket irrespective of the prepared state.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42441">SERVER-42441</a> renameCollectionForApplyOps should always rename the target out of the way if it exists</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42652">SERVER-42652</a> Fix issue with rename collection</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42709">SERVER-42709</a> Change error message about missing UUIDs on startup</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42915">SERVER-42915</a> New style repair’s catalog corrections are often false positives, aggressively marking repl nodes as corrupted</li>
</ul>
</div>
<div class="section" id="id45">
<h3>Operations<a class="headerlink" href="#id45" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42257">SERVER-42257</a> Add new shell startup banner</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43081">SERVER-43081</a> validate should report when an index’s ‘multikeyPaths’ are set but the ‘multikey’ flag is false</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43350">SERVER-43350</a> The server crashes when trying to join collections ($ lookup with pipeline).</li>
</ul>
</div>
<div class="section" id="id46">
<h3>Build and Packaging<a class="headerlink" href="#id46" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42911">SERVER-42911</a> Rebuild mongodb by building.md and failed to build due to ModuleNotFoundError: No module named ‘Cheetah’ with MSVC on windows</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-44114">SERVER-44114</a> Don’t use scons cache on Ubuntu 18.04 s390x</li>
</ul>
</div>
<div class="section" id="id47">
<h3>Internals<a class="headerlink" href="#id47" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37837">SERVER-37837</a> Possible for TransactionParticipant to never get cleaned up if no write happened</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38141">SERVER-38141</a> Incorrect usage of MONGO_CONFIG_HAS_SSL_SET_ECDH_AUTO prevents enabling of elliptic curve auto negotiation</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38493">SERVER-38493</a> Allow queryable storage engine to reuse connections between mongod and HTTP server</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39777">SERVER-39777</a> step down nodes with a high freeze timeout before validating them on shutdown</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41099">SERVER-41099</a> Fix incorrect error propagation from shards for explain command</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41102">SERVER-41102</a> Join threads in transport_layer_asio_test</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41248">SERVER-41248</a> Ensure ReplicaSetMonitor initializes its random state with truly random data</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41261">SERVER-41261</a> Use the oplog entry after the common point to calculate rollbackTimeLimitSecs</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41802">SERVER-41802</a> generate_resmoke_tasks doesn’t apply max_sub_suites option</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41939">SERVER-41939</a> Connect to fastest LDAP server first</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41990">SERVER-41990</a> Burn_in should not average hook times for unique hooks</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42075">SERVER-42075</a> Add DSI module to perf.yml</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42107">SERVER-42107</a> LDAP conn pool should not block on the network in isHealthy() implementation</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42178">SERVER-42178</a> Disable Split Horizon HOSTALIAS testing on SLES</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42216">SERVER-42216</a> Ensure pin_getmore_cursor.js waits for server to finish killing cursor</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42476">SERVER-42476</a> Improve free monitoring tests</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42618">SERVER-42618</a> Disable legacy SCons cache pruning for all build variants</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42706">SERVER-42706</a> Test seeding secondary without sessions or transactions table</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42814">SERVER-42814</a> Remove informational message on overflow file size quota</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42866">SERVER-42866</a> Trigger a logical session cache refresh on all shards in the ShardedCluster test fixture before running test</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42953">SERVER-42953</a> ttl_repl_secondary_disabled.js should prevent elections</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43022">SERVER-43022</a> Allow compile to be run independently on rhel 62</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43186">SERVER-43186</a> Limit the number of tests added to a generated suite</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43200">SERVER-43200</a> Make auth/mongoURIAuth.js robust to slow commands</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43240">SERVER-43240</a> Add DSI and mongo-perf modules to MMAP build variants in v4.0 mongo</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43582">SERVER-43582</a> Do not attempt to authenticate ReplicaSet Monitor</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-43634">SERVER-43634</a> Report different errors for missing scons and fail to import scons</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4502">WT-4502</a> Assertion checking hazard pointers on page discard is too strong</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4792">WT-4792</a> Add stat to track pages queued for eviction after LRU sorting</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4840">WT-4840</a> WT_CURSOR.modify must require explicit, snapshot-isolation transaction</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4869">WT-4869</a> Stop adding cache pressure when eviction is falling behind</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4881">WT-4881</a> Soften the restrictions on re-entering reconciliation</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4882">WT-4882</a> Improve checkpoint performance when there are large metadata pages</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4892">WT-4892</a>  Improve statistics about forced eviction</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4893">WT-4893</a> Fix a race between internal page child-page eviction checks and cursors in the tree</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4895">WT-4895</a> Fix debug eviction mode so it chooses skew more randomly</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4898">WT-4898</a> Don’t allow the eviction server to reconcile if it’s busy</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4920">WT-4920</a> Add statistics tracking when eviction server is waiting for page transitions</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4956">WT-4956</a> Handle the case where 4 billion updates are made to a page without eviction</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4957">WT-4957</a> Revert part of a change about when pages are queued for urgent eviction</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-5050">WT-5050</a> Assertion failure during urgent eviction of metadata page</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-5074">WT-5074</a> Fix “make check” on exotic architectures</li>
</ul>
</div>
</div>
<div class="section" id="id48">
<span id="id49"></span><h2>4.0.12 Changelog<a class="headerlink" href="#id48" title="Permalink to this headline">¶</a></h2>
<div class="section" id="id50">
<h3>Security<a class="headerlink" href="#id50" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41587">SERVER-41587</a> Improve SECBUFFER_EXTRA handling</p>
</div>
<div class="section" id="id51">
<h3>Sharding<a class="headerlink" href="#id51" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36394">SERVER-36394</a> mongos should reset chunk size tracking information when autosplit = false or splitvector returns too few split points</p>
</div>
<div class="section" id="id52">
<h3>Replication<a class="headerlink" href="#id52" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42467">SERVER-42467</a> initial_sync_test_fixture_test assumes wiredTiger</p>
</div>
<div class="section" id="id53">
<h3>Query<a class="headerlink" href="#id53" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41829">SERVER-41829</a> findAndModify ignores filter expressions that are not objects</p>
</div>
<div class="section" id="id54">
<h3>Operations<a class="headerlink" href="#id54" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41152">SERVER-41152</a> A space in the authenticationMechanisms string should produce at least a warning message</p>
</div>
<div class="section" id="id55">
<h3>Build and Packaging<a class="headerlink" href="#id55" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42173">SERVER-42173</a> Add Ubuntu 14.04 to v4.0</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42603">SERVER-42603</a> Recent service file change may cause cyclic dependencies</li>
</ul>
</div>
<div class="section" id="id56">
<h3>Internals<a class="headerlink" href="#id56" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35114">SERVER-35114</a> Make it possible to adjust the period of active jobs in the PeriodicRunner</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38395">SERVER-38395</a> Python global logger is polluted when importing certain resmokelib modules</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39348">SERVER-39348</a> Cleanly release sessions in TLASIO unittest</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39928">SERVER-39928</a> Stop testing PyMongo with Python 2.6 in drivers-nightly</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39936">SERVER-39936</a> Use PeriodicRunner handles to simplify shutdown ordering</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40899">SERVER-40899</a> Disallow chaining in change_stream_update_lookup_read_concern.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42061">SERVER-42061</a> Validate decrypted payload in ESE</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4878">WT-4878</a> Disable random dhandle selection and fine tune eviction target calculations</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4913">WT-4913</a> Fix the Windows CRC32 on blocks that aren’t 8B aligned and/or multiples of 8B</li>
</ul>
</div>
</div>
<div class="section" id="id57">
<span id="id58"></span><h2>4.0.11 Changelog<a class="headerlink" href="#id57" title="Permalink to this headline">¶</a></h2>
<div class="section" id="id59">
<h3>Security<a class="headerlink" href="#id59" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41069">SERVER-41069</a> Ability to disable authorization via x509 extensions</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41441">SERVER-41441</a> Upgrade static OpenSSL to 1.1.1c</li>
</ul>
</div>
<div class="section" id="id60">
<h3>Sharding<a class="headerlink" href="#id60" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-26531">SERVER-26531</a> jumbo flag in chunk can be cleared when the shard that owns it donates a chunk</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36004">SERVER-36004</a> SessionUpdateTracker should ignore no-op entries for pre/post image oplogs</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36443">SERVER-36443</a> Long-running queries should not cause a build-up of unused ChunkManager objects</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36469">SERVER-36469</a> shard_kill_and_pooling isn’t querying the shard it’s supposed to</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38457">SERVER-38457</a> Actually fix race condition in retryable writes test</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39756">SERVER-39756</a> Sharding a very large collection can result in a long stall of writes against this collection</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40346">SERVER-40346</a> Write shardCollection initial chunks with BatchWriter</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40535">SERVER-40535</a> Possibility to get a non-existent key if using ReadConcern level:local when reading signing keys in ReplicaSet</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41575">SERVER-41575</a> secondary_shard_versioning.js should not set the shard secondaries votes to 0</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41859">SERVER-41859</a> logical_time_metadata.js shouldn’t assume lastApplied opTime equals $clusterTime</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41866">SERVER-41866</a> Reverse mutex acquisition order in CatalogCache::_scheduleDatabaseRefresh</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41867">SERVER-41867</a> CatalogCache::_scheduleDatabaseRefresh/_scheduleCollectionRefresh can try to grab _mutex it already owns</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41869">SERVER-41869</a> Reverse mutex acquisition order in CatalogCache::_scheduleCollectionRefresh</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42024">SERVER-42024</a> shards_and_config_return_last_committed_optime.js shouldn’t assume opTime in response equals opTime in metadata</li>
</ul>
</div>
<div class="section" id="id61">
<h3>Replication<a class="headerlink" href="#id61" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37065">SERVER-37065</a> Report ismaster:false in isMaster command response immediately upon learning of a new term</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38659">SERVER-38659</a> Race condition in IsMasterIsFalseDuringStepdown unittest</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40248">SERVER-40248</a> OplogEntry’s getOperationToApply() returns incorrect field for updates</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40336">SERVER-40336</a> ReplicationCoordinatorImpl::_random isn’t robust to replica set members being started at the same time</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41036">SERVER-41036</a> Make ReadWriteAbility::_canAcceptNonLocalWrites AtomicWord&lt;bool&gt; to prevent torn reads.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41342">SERVER-41342</a> read_committed_stale_history.js must perform continuous writes to ensure majority commit point propagates to secondary</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41497">SERVER-41497</a> Create IDL types for ElectionMetrics, ElectionCandidateMetrics and ElectionParticipant Metrics</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41498">SERVER-41498</a> Create ReplicationMetrics class</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42055">SERVER-42055</a> Only acquire a collection IX lock to write the lastVote document</li>
</ul>
</div>
<div class="section" id="id62">
<h3>Query<a class="headerlink" href="#id62" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40134">SERVER-40134</a> Distinct command against a view can return incorrect results when the distinct path is multikey</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40869">SERVER-40869</a> $subtract with date can cause undefined behavior</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41065">SERVER-41065</a> Make agg evaluate() thread safe by passing ‘Variables’ as a parameter</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42079">SERVER-42079</a> all non-primary-started index builds should be labeled backgroundSecondary</li>
</ul>
</div>
<div class="section" id="id63">
<h3>Aggregation<a class="headerlink" href="#id63" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40383">SERVER-40383</a> dateFromParts does not overflow correctly if isoWeek smaller than 1</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41785">SERVER-41785</a> Improve robustness of change_streams_resume_same_clustertime_different_uuid.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42232">SERVER-42232</a> Adding a new shard renders all preceding resume tokens invalid</li>
</ul>
</div>
<div class="section" id="id64">
<h3>Storage<a class="headerlink" href="#id64" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41351">SERVER-41351</a> Improve error message from failure to obtain lock for storage stats collection</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41533">SERVER-41533</a> Remove unnecessary IndexConsistency::_classMutex</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41534">SERVER-41534</a> Reuse KeyString in RecordStoreValidateAdaptor</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41535">SERVER-41535</a> Use vector instead of map for IndexConsistency::_indexesInfo</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41536">SERVER-41536</a> Use vector instead of map for IndexConsistency hash buckets</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41537">SERVER-41537</a> Use 64K hash buckets instead of 4M for index validation</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41538">SERVER-41538</a> Remove indirection through indexNumber in IndexConsistency</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41539">SERVER-41539</a> Cache key ordering in IndexInfo</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41540">SERVER-41540</a> Fix  _indexNsResultsMap usage</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41541">SERVER-41541</a> Put a KeyString in IndexInfo for the RecordStoreValidateAdaptor</li>
</ul>
<div class="section" id="wiredtiger">
<h4>WiredTiger<a class="headerlink" href="#wiredtiger" title="Permalink to this headline">¶</a></h4>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41913">SERVER-41913</a> Avoid in-place modify operations for logged collections</li>
</ul>
</div>
</div>
<div class="section" id="id65">
<h3>Operations<a class="headerlink" href="#id65" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36099">SERVER-36099</a> FTDC for mongos is unworkably large for large installations</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41632">SERVER-41632</a> db.collection.getShardDistribution() shows NaN</li>
</ul>
</div>
<div class="section" id="id66">
<h3>Build and Packaging<a class="headerlink" href="#id66" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36043">SERVER-36043</a> systemd unit for mongod starts before multi.user target</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39465">SERVER-39465</a> Update master android builds to r19 NDK</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40133">SERVER-40133</a> Create Markdown description of vendored third party libraries</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40563">SERVER-40563</a> Our init scripts check /proc/[pid]/stat should validate that <cite>(${procname})</cite> is the process’ command name.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41039">SERVER-41039</a> Android and java multiarch builders cannot import yaml during config expansion</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41302">SERVER-41302</a> Lift restriction on publishing embedded SDKs from the 4.2 branch</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41424">SERVER-41424</a> scons should fail early if invoked with wrong Python interpreter</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41443">SERVER-41443</a> Update Enterprise License</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41568">SERVER-41568</a> Update third party inclusions for June 6th 2019</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42233">SERVER-42233</a> Bump Windows package dependencies</li>
</ul>
</div>
<div class="section" id="id67">
<h3>Internals<a class="headerlink" href="#id67" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-26626">SERVER-26626</a> In external_auth_WT JSTests, ensure that Saslauthd has fully started before continuing test</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-33589">SERVER-33589</a> Create an initial sync fuzzer suite</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35067">SERVER-35067</a> Blacklist explain2.js from retryable writes jscore stepdown suite</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37984">SERVER-37984</a> Upgrade yaml-cpp &gt;= 0.6.0</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39480">SERVER-39480</a> Log network failure status in DBClientConnection</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39642">SERVER-39642</a> Decrement egress counter when scoped connection not returned to the pool</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40052">SERVER-40052</a> Shutdown in mongos can trigger BatchWriteOp invariant</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40156">SERVER-40156</a> Initial implementation of Split Horizon</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40295">SERVER-40295</a> Add details to stage_builder.cpp invariant message</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40643">SERVER-40643</a> Add tests for <cite>replSetConfig</cite> and <cite>replSetInitiate</cite> with Split Horizon</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40645">SERVER-40645</a> Add tests for SNI/TLS behavior of Split Horizon</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40738">SERVER-40738</a> Don’t try to upload evergreen tarball when doing Android mobile builds</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40923">SERVER-40923</a> Remove npm test command from “run jstestfuzz” Evergreen function</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40924">SERVER-40924</a> Add Evergreen task to sanity check fuzzer can parse JavaScript tests</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41004">SERVER-41004</a> killSessions command can return CursorNotFound error for successful kill</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41013">SERVER-41013</a> Make lock_stats.js test more resilient against unset stats</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41016">SERVER-41016</a> Calculate deltas for updates to large documents</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41047">SERVER-41047</a> errnoWithDescription always returns “Unknown error” on Linux</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41062">SERVER-41062</a> Always return TransactionTooLarge rather than BSONObjectTooLarge when transaction is too large to fit in a single applyOps</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41075">SERVER-41075</a> Remove ‘mongo/repl/replication_coordinator.h’ from op-context inclusion path</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41096">SERVER-41096</a> ContinuousStepdown thread and resmoke runner do not synchronize properly on the “stepdown permitted file” and “stepping down file”</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41131">SERVER-41131</a> Add StrongWeakFinishLine</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41148">SERVER-41148</a> FTDC is calling boost::filesystem without passing an error_code parameter</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41164">SERVER-41164</a> Change Stream pipeline regex matches wrong oplog docs when using ‘|’ pipe in db name</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41169">SERVER-41169</a> Most powercycle testing for Linux was removed from Evergreen</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41184">SERVER-41184</a> Add metrics to indicate the amount of sharded updates done with only _id in query</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41349">SERVER-41349</a> Add a log statement for slow dns resolution</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41361">SERVER-41361</a> Do not read at lastApplied while already holding the PBWM lock on secondaries</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41401">SERVER-41401</a> patch_files.txt doesn’t distinguish between enterprise and community files</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41432">SERVER-41432</a> Create failpoint which when enabled makes $expr evaluate to false rather than an error when an invalid expression is encountered</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41442">SERVER-41442</a> Fix second race in umask.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41546">SERVER-41546</a> SysV init scripts should verify PIDfile exists instead of failing</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41680">SERVER-41680</a> Propagate ${branch_name} Evergreen expansion to fuzzer invocation</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41702">SERVER-41702</a> Copy Collection NamespaceString before yielding locks in AutoGetCollectionForRead</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41753">SERVER-41753</a> Fix indexc.js to not depend on the clock always moving forward</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41789">SERVER-41789</a> sys-perf: Use bootstrap.overrides in bootstrap.yml config file</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41828">SERVER-41828</a> Ensure LDAP conn pool prefers ldap servers listed first</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41833">SERVER-41833</a> Update README license text</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41862">SERVER-41862</a> Make generated file for split resmoke tasks optional</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41897">SERVER-41897</a> Use assert.sameMembers to compare two sets in jstests/ssl/libs/ssl_x509_role_auth.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41967">SERVER-41967</a> Symlink /data to Z instead of C</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42002">SERVER-42002</a> JSTests for regex characters in db/coll names should abide by system differences</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42195">SERVER-42195</a> Stepdown suites fail with Python exception when run with –repeat &gt;1</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-42228">SERVER-42228</a> LoggerRuntimeConfigError exceptions can lead to background dbhash thread running until Evergreen task times out</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4477">WT-4477</a> Add eviction debug mode and extra checks</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4690">WT-4690</a> Make sure eviction does not split during checkpoints</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4706">WT-4706</a> Add a statistic to track the lookaside table size</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4712">WT-4712</a> Add debug log op record for non-logged tables</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4723">WT-4723</a> Restructure the reconciliation code</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4760">WT-4760</a> Checkpoint should not read past a stable update</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4776">WT-4776</a> Modify operations should be equivalent to updates</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4803">WT-4803</a> Implement file_max configuration for Cache Overflow mechanism</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4817">WT-4817</a> heap-buffer-overflow failure in timestamp_abort</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4823">WT-4823</a> Add check for uninitialised lookaside resources</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4827">WT-4827</a> Apply commit timestamps when a truncated page is read</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4848">WT-4848</a> Fix perf regression when calculating differences</li>
</ul>
</div>
</div>
<div class="section" id="id68">
<span id="id69"></span><h2>4.0.10 Changelog<a class="headerlink" href="#id68" title="Permalink to this headline">¶</a></h2>
<div class="section" id="id70">
<h3>Security<a class="headerlink" href="#id70" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38217">SERVER-38217</a> Consider recording failed attempts to kill cursors in the audit log</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39864">SERVER-39864</a> Move principal name extraction to error handler in SASL Start</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40226">SERVER-40226</a> Upgrade static OpenSSL to 1.1.1b</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40393">SERVER-40393</a> Disable SSL_MODE_RELEASE_BUFFERS in ASIO</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40817">SERVER-40817</a> Handle createIndexes on roles collection in RoleGraphUpdate</li>
</ul>
</div>
<div class="section" id="id71">
<h3>Sharding<a class="headerlink" href="#id71" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36355">SERVER-36355</a> Improve error message when shard key not present in all documents</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36457">SERVER-36457</a> mongos_rs_shard_failure_tolerance.js test should assert that the movePrimary command succeeds</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39420">SERVER-39420</a> Remove in-memory boolean to indicate config.server.sessions collection set up</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40318">SERVER-40318</a> Condition variable wait in NamespaceSerializer::lock is not exception safe</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40346">SERVER-40346</a> Write shardCollection initial chunks with BatchWriter</li>
</ul>
</div>
<div class="section" id="id72">
<h3>Replication<a class="headerlink" href="#id72" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35636">SERVER-35636</a> Renaming collection for applyOps needs to check completeness of target namespace</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39221">SERVER-39221</a> Test rollback after enableMajorityReadConcern upgrade/downgrade</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39672">SERVER-39672</a> ReadConcern level in multi-statement transactions defaults to “snapshot”</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39831">SERVER-39831</a> Never update commit point beyond last applied if learned from sync source</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40068">SERVER-40068</a> Unblacklist kill_sessions_kills_transaction.js from replica_sets_jscore_passthrough.yml</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40329">SERVER-40329</a> Log all transactions at TXN verbosity levels &gt;= 1</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40335">SERVER-40335</a> Don’t wait for election handoff in ReplSetTest.stopSet()</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40628">SERVER-40628</a> Initial sync could fail under replsetprio1.js settings</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40788">SERVER-40788</a> Improve logging around replication catchup</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40839">SERVER-40839</a> Add tests for empty unprepared transactions</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40855">SERVER-40855</a> run_check_repl_dbhash_background.js with majority read concern false must allow for a missing majority op time</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40976">SERVER-40976</a> rollback_after_enabling_majority_reads.js should not run on mmapv1</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41006">SERVER-41006</a> Make replbatchlimitbytes configurable</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41081">SERVER-41081</a> do_not_advance_commit_point_beyond_last_applied_term.js must wait for Node E to reach stopReplProducerOnDocument failpoint</li>
</ul>
</div>
<div class="section" id="id73">
<h3>Query<a class="headerlink" href="#id73" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40618">SERVER-40618</a> Remove removec.js from causally consistent jscore passthrough</p>
</div>
<div class="section" id="id74">
<h3>Storage<a class="headerlink" href="#id74" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-30356">SERVER-30356</a> Improve error reporting for validation</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-32709">SERVER-32709</a> Mobile SE: Index creation takes a long time</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40786">SERVER-40786</a> Improve error message in IndexCatalog::dropAllIndexes()</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41213">SERVER-41213</a> Unique background index builds may produce inconsistent keys</li>
</ul>
</div>
<div class="section" id="id75">
<h3>Operations<a class="headerlink" href="#id75" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34621">SERVER-34621</a> Log if client attempts renegotiation</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38625">SERVER-38625</a> Improve shell error handling when Atlas user has not configured IP Whitelisting</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38867">SERVER-38867</a> “show collections” no longer lists system.* collections</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39820">SERVER-39820</a> Add the client IP address to the successful authentication log message</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40112">SERVER-40112</a> db.disableFreeMonitoring() returns “not master” on secondary even after rs.slaveOk()</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40423">SERVER-40423</a> Misleading error message when ‘count’ is run as the first command in a transaction</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40866">SERVER-40866</a> Use JSON.stringify() to serialize string in tojson()</li>
</ul>
</div>
<div class="section" id="id76">
<h3>Build and Packaging<a class="headerlink" href="#id76" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37765">SERVER-37765</a> Platform Support: Remove Ubuntu 14.04</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39025">SERVER-39025</a> Windows MSI unattended installation missing mongod.exe with ADDLOCAL</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40242">SERVER-40242</a> Update banner inclusions for vendored tools</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40491">SERVER-40491</a> Update Debian 8 image for package test</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41038">SERVER-41038</a> The results of git describe for MONGO_VERSION vary by git version</li>
</ul>
</div>
<div class="section" id="id77">
<h3>Internals<a class="headerlink" href="#id77" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39869">SERVER-39869</a> System-Performance: Enable authentication in all tasks</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40166">SERVER-40166</a> Force BG clock now == Date_t::lastNow</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40246">SERVER-40246</a> Create evergreen task for cursor manager sys perf workload</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40344">SERVER-40344</a> Upgrade ASAN builders to Ubuntu 18.04</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40514">SERVER-40514</a> Race between BufferedHandler.close() and BufferedHandler.flush() leads to resmoke.py hanging with –log=buildlogger</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40553">SERVER-40553</a> Filter unauthorized views in listCollections</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40654">SERVER-40654</a> Do not override timeouts for generated tasks on PPC</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40704">SERVER-40704</a> Have better task timeouts when dynamically setting the minimum</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40720">SERVER-40720</a> Improve watchdog fuse test reliability</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40758">SERVER-40758</a> Increase the amount of memory available for logical_session_cache_replication* tasks</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40840">SERVER-40840</a> Disable tools testing in ssl_cert_password.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40889">SERVER-40889</a> free_monitoring tests should use a virtualenv</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40922">SERVER-40922</a> Add npm install command to “run jstestfuzz” Evergreen function</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40932">SERVER-40932</a> Increase timeout for shutting down the ServiceExecutor</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41088">SERVER-41088</a> Propagate Evergreen order field to Cedar for system perf</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-41103">SERVER-41103</a> Fix fuzzer task invocations</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-2068">TOOLS-2068</a> mongodump oplog delay</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-2290">TOOLS-2290</a> mongorestore should not treat % in collection names as URL escape character</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4352">WT-4352</a> Resolve birthmarks during eviction in more cases</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4631">WT-4631</a> Always clear the read timestamp for transactions</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4687">WT-4687</a> Querying all_committed shouldn’t get timestamp zero</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4693">WT-4693</a> WT_CONNECTION::reconfigure should not require quiescence when downgraded</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4750">WT-4750</a> Sweep can remove active lookaside records when files are closed and re-opened</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4759">WT-4759</a> Save a copy when an old overflow value is discarded</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4768">WT-4768</a> Inconsistent data with lookaside eviction followed by sweep</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4769">WT-4769</a> Don’t discard active history for empty pages</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4794">WT-4794</a> Mark lookaside history resolved in all paths</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4796">WT-4796</a> Enhance diagnostics that track ref state transitions</li>
</ul>
</div>
</div>
<div class="section" id="id78">
<span id="id79"></span><h2>4.0.9 Changelog<a class="headerlink" href="#id78" title="Permalink to this headline">¶</a></h2>
<div class="section" id="id80">
<h3>Security<a class="headerlink" href="#id80" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38945">SERVER-38945</a> SSL performance regression</p>
</div>
<div class="section" id="id81">
<h3>Sharding<a class="headerlink" href="#id81" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40333">SERVER-40333</a> Only clone collection options once for each shard on shard collection</p>
</div>
<div class="section" id="id82">
<h3>Replication<a class="headerlink" href="#id82" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39278">SERVER-39278</a> Wait for rollback to finish before ending session in transient_txn_error_labels_with_write_concern.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39672">SERVER-39672</a> ReadConcern level in multi-statement transactions defaults to “snapshot”</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40039">SERVER-40039</a> Increase assert.soon timeout in initial_sync_invalid_index_spec.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40298">SERVER-40298</a> Track transaction size on 4.0</li>
</ul>
</div>
<div class="section" id="id83">
<h3>Query<a class="headerlink" href="#id83" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38949">SERVER-38949</a> Incorrect index bounds for {$ne: [“String”]} query</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40391">SERVER-40391</a> Remove low value explain2.js test</li>
</ul>
</div>
<div class="section" id="id84">
<h3>Storage<a class="headerlink" href="#id84" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-16571">SERVER-16571</a> Use Actual Memory Constraint vs. Total System Memory When They Differ</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39026">SERVER-39026</a> Use correct type for retrieving WiredTiger statistics</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39654">SERVER-39654</a> Storage statistics not logged for a slow transaction</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40390">SERVER-40390</a> Blacklist skip_repairing_fcv.js from running on mmapv1 on 4.0</li>
</ul>
</div>
<div class="section" id="id85">
<h3>Operations<a class="headerlink" href="#id85" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40131">SERVER-40131</a> Incorrect format string in Windows stacktrace generator.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40259">SERVER-40259</a> Include third party notices for ASIO and variant</li>
</ul>
</div>
<div class="section" id="id86">
<h3>Build and Packaging<a class="headerlink" href="#id86" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36622">SERVER-36622</a> Package tests fail for newer Ubuntu</p>
</div>
<div class="section" id="id87">
<h3>Internals<a class="headerlink" href="#id87" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34260">SERVER-34260</a> Ability to reuse a single TCP connection from mongod to the LDAP server</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38239">SERVER-38239</a> Define and Implement getOperationStatistics of storage interface</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38240">SERVER-38240</a> Extend OpDebug object to support storage statistics</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38243">SERVER-38243</a> Test session storage statistics are part of slow operation report</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38649">SERVER-38649</a> Add AlarmScheduler and AlarmRunner for general purpose alarms</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38984">SERVER-38984</a> Attach IDs to users</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39061">SERVER-39061</a> Fix the wt_operation_stats test to wait for the operation log to appear</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39178">SERVER-39178</a> Negotiate SCRAM mechanism in MongoURI::connect()</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39361">SERVER-39361</a> Synchronise collecting storage engine stats with shutdown</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39488">SERVER-39488</a> Test does not see the storage statistics in the profiled output .</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39764">SERVER-39764</a> Negation of $in with embedded array can incorrectly plan from the cache, triggering invariant</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39869">SERVER-39869</a> System-Performance: Enable authentication in all tasks</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39934">SERVER-39934</a> CurOp::completeAndLogOperation should not hang waiting for global lock</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40341">SERVER-40341</a> Thread SSL connection mode through ConnectionPool interface</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4324">WT-4324</a> Ensure checkpoints rewrite pages with data in the future</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4554">WT-4554</a> Enhance WT salvage to handle the case of corrupted WiredTiger.turtle</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4619">WT-4619</a> Coverity 111398: leaked memory</li>
</ul>
</div>
</div>
<div class="section" id="id88">
<span id="id89"></span><h2>4.0.8 Changelog<a class="headerlink" href="#id88" title="Permalink to this headline">¶</a></h2>
<div class="section" id="id90">
<h3>Security<a class="headerlink" href="#id90" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39217">SERVER-39217</a> TLS intermediate CA certificate not working with macOS and 4.0.5</p>
</div>
<div class="section" id="id91">
<h3>Sharding<a class="headerlink" href="#id91" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35219">SERVER-35219</a> Regain MongoDB balancer performance with sessions</p>
</div>
<div class="section" id="id92">
<h3>Replication<a class="headerlink" href="#id92" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37255">SERVER-37255</a> replSetReconfig with concurrent election can trigger invariant</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38994">SERVER-38994</a> Step down on SIGTERM</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40194">SERVER-40194</a> Revert SERVER-33248 on 4.0</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40355">SERVER-40355</a> rs.config that contains an _id greater than the number of nodes will crash</li>
</ul>
</div>
<div class="section" id="id93">
<h3>Query<a class="headerlink" href="#id93" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39903">SERVER-39903</a> notablescan parameter should be ignored for internally used namespaces</p>
</div>
<div class="section" id="id94">
<h3>Storage<a class="headerlink" href="#id94" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40024">SERVER-40024</a> Rename collection on a secondary can set the collection minimumVisibleSnapshot timestamp backwards in time after a background index build’s ghost commit cluster time timestamp</p>
</div>
<div class="section" id="id95">
<h3>Operations<a class="headerlink" href="#id95" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37722">SERVER-37722</a> Quiet mode does not suppress connection end events</p>
</div>
<div class="section" id="id96">
<h3>Build and Packaging<a class="headerlink" href="#id96" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35628">SERVER-35628</a> Failed runtime links to do not result in failed tests for android emulators</p>
</div>
<div class="section" id="tools">
<h3>Tools<a class="headerlink" href="#tools" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-2229">TOOLS-2229</a> Mongofiles deletes chunks of existing file when failing to put_id with existing _id</p>
</div>
<div class="section" id="id97">
<h3>Internals<a class="headerlink" href="#id97" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34286">SERVER-34286</a> noPassthrough/currentop_query.js is failing on Amazon Linux 2</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36750">SERVER-36750</a> blacklist memory.js on ppc64le in memory variants</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37389">SERVER-37389</a> Give different messages for different connection failure reasons</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38644">SERVER-38644</a> Guard against ephemeral files disappearing during umask test</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39580">SERVER-39580</a> [4.0] Skip repairing the FCV document if the major version is too low</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40154">SERVER-40154</a> change_streams_resume_at_same_clustertime.js should not assume change order</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40233">SERVER-40233</a> Increase transactionLifetimeLimitSeconds from 3 to 24 hours</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40305">SERVER-40305</a> Add diagnostic logging to max_time_ms.js</li>
</ul>
</div>
</div>
<div class="section" id="id98">
<span id="id99"></span><h2>4.0.7 Changelog<a class="headerlink" href="#id98" title="Permalink to this headline">¶</a></h2>
<div class="section" id="id100">
<h3>Security<a class="headerlink" href="#id100" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36606">SERVER-36606</a> Remove size limits on BSON audit events</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39202">SERVER-39202</a> Improve deterministic calculation of key container names</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39571">SERVER-39571</a> mongod cannot verify certificates from the CNG provider</li>
</ul>
</div>
<div class="section" id="id101">
<h3>Sharding<a class="headerlink" href="#id101" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36901">SERVER-36901</a> sh.status() “Last reported error:” is actually 5th Latest error message</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36958">SERVER-36958</a> Parts of the <cite>_configsvrShardCollection</cite> command do not retry on network errors</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37591">SERVER-37591</a> MigrationSourceManager is not exception safe before <cite>startClone</cite> completes</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38192">SERVER-38192</a> Ignore duplicate key error from refreshLogicalSessionCacheNow</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38205">SERVER-38205</a> Optimize splitVector for the jumbo-chunk case</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38387">SERVER-38387</a> agg_out.js concurrency workload always fails to shard the output collection</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39203">SERVER-39203</a> failcommand_ignores_internal.js fails against mongod 3.6</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39847">SERVER-39847</a> Migrating session info can trigger fassert when destination shard has transaction history truncated by oplog</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40010">SERVER-40010</a> Shard secondaries with 4.0 binary and 3.6 FCV are calling <cite>_flushDatabaseCacheUpdates</cite></li>
</ul>
</div>
<div class="section" id="id102">
<h3>Replication<a class="headerlink" href="#id102" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35663">SERVER-35663</a> Replication recovery does not update the logical clock</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37179">SERVER-37179</a> Wait for specified write concern whenever commitTransaction returns a NoSuchTransaction error</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37274">SERVER-37274</a> commands_that_accept_wc tests can give secondaries priority zero</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37569">SERVER-37569</a> prohibit MapReduce on sessions with txnNumbers</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37846">SERVER-37846</a> writeConcern can be satisfied with an arbiter if the write was committed</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38297">SERVER-38297</a> Killing session on a secondary currently applying prepare oplog entry can fassert</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38354">SERVER-38354</a> Allow shutdown error when reading last applied optime on startup</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38722">SERVER-38722</a> CollectionCloner should handle QueryPlanKilled on collection drop</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39215">SERVER-39215</a> Fix aggregation_currentop.js such that we don’t compare timestamps generated from 2 different sources (mozjs &amp; server).</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39286">SERVER-39286</a> server_write_concern_metrics.js must use requires_journaling tag</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39490">SERVER-39490</a> opWriteConcernCounters can cause undefined behavior due to overflow</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39641">SERVER-39641</a> Blacklist max_time_ms.js from read concern linearizable passthrough</li>
</ul>
</div>
<div class="section" id="id103">
<h3>Query<a class="headerlink" href="#id103" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-13779">SERVER-13779</a> Allow $not to be applied to $regex (currently only /regex/ syntax is allowed)</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36910">SERVER-36910</a> Reduce severity or remove log message for PlanExecutor::DEAD error during find</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38764">SERVER-38764</a> External sorter should use 64-bit integers for file offsets</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39210">SERVER-39210</a> Add debug logging to change_streams/shell_helper.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39472">SERVER-39472</a> Backport changes to apply_ops_concurrent_non_atomic.js to account for HMAC key inserts in 3.6 and 4.0.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39650">SERVER-39650</a> Ensure internal options cannot be specified in a raw aggregate command sent to mongos</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39771">SERVER-39771</a> TextMatchExpression crashes instead of serializing in some cases</li>
</ul>
</div>
<div class="section" id="id104">
<h3>Aggregation<a class="headerlink" href="#id104" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-31098">SERVER-31098</a> Wrong ns in system.profile for aggregation query</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35740">SERVER-35740</a> Report high-water-mark resume token with each (possibly empty) change stream batch</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38408">SERVER-38408</a> Return postBatchResumeToken from all mongoD change streams</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38410">SERVER-38410</a> Allow ARM to consume postBatchResumeToken for merging</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38411">SERVER-38411</a> Propagate postBatchResumeToken through mongoS to client</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38412">SERVER-38412</a> Allow resuming from a high-water-mark resume token</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38413">SERVER-38413</a> Always set an initial postBatchResumeToken</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38414">SERVER-38414</a> Upgrade/Downgrade testing for change stream high water mark</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38942">SERVER-38942</a> Improve robustness of postBatchResumeToken integration tests</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38975">SERVER-38975</a> Single-collection high water marks omit UUID on shards where the collection does not exist</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39166">SERVER-39166</a> $graphLookup should force a pipeline to split in sharded cluster</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39322">SERVER-39322</a> Backport timelib fix for incorrect snprintf invocation with static buffer</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39394">SERVER-39394</a> Views collation check should traverse through nested $lookup pipelines</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39410">SERVER-39410</a> Re-enable batching in DSCursor for change stream cursors</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39487">SERVER-39487</a> Aggregation operator $sqrt output for NumberDecimal is the same as $exp</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39612">SERVER-39612</a> Validate fields in $geoNear</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40094">SERVER-40094</a> Do not prematurely reject resume attempt in DSShardCheckResumability</li>
</ul>
</div>
<div class="section" id="javascript">
<h3>JavaScript<a class="headerlink" href="#javascript" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39481">SERVER-39481</a> Remove unused C++ injected JS constructors</p>
</div>
<div class="section" id="id105">
<h3>Storage<a class="headerlink" href="#id105" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-17010">SERVER-17010</a> Reduce file handle usage in File based Sorter</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35449">SERVER-35449</a> Return the oldest read timestamp used by any open transaction</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35732">SERVER-35732</a> Hyphenated database names do not work with dbStats.fsUsedSize / TotalSize</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38555">SERVER-38555</a> cappedTruncateAfter must not set oldest timestamp during startup recovery when enableMajorityReadConcern=false</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38745">SERVER-38745</a> MigrationDestinationManager assigns incorrect timestamps while building multiple indexes</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38801">SERVER-38801</a> Cope with large BSON blobs in queryable’s <cite>listDirectory</cite> call.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38833">SERVER-38833</a> A failure to timestamp a storage transaction requires restarting the transaction</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39106">SERVER-39106</a> GlobalLock acquisition should throw when ticket acquisition times out if there is a max lock timeout and no deadline</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39259">SERVER-39259</a> Mobile SE: Adjust SQLite Pragmas for Improved Performance</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39719">SERVER-39719</a> Ensure that a node performing an initial sync from a secondary with a in-progress index build creates the index before initial sync is done</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39723">SERVER-39723</a> Change listIndexes command behavior to show in-progress index builds</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39773">SERVER-39773</a> decrease number of updates in rollback_wt_cache_full.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39871">SERVER-39871</a> Make catalog_raii_test more resistant to clock issues on Windows</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39922">SERVER-39922</a> Fix lock stats suboperation tests for mobile</li>
</ul>
</div>
<div class="section" id="id106">
<h3>Operations<a class="headerlink" href="#id106" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34422">SERVER-34422</a> Expose metrics on idle versus active client threads</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37155">SERVER-37155</a> Improve the LDAP server logging</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38038">SERVER-38038</a> mongo shell should be linked with ErrorExtraInfo derivatives</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38530">SERVER-38530</a> Add getResumeToken shell helper</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39093">SERVER-39093</a> Cannot use TLS with readPreference={mode: “secondary”} without specifying –ssl to mongo shell</li>
</ul>
</div>
<div class="section" id="id107">
<h3>Build and Packaging<a class="headerlink" href="#id107" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-33958">SERVER-33958</a> When using thin archives the –cache=nolinked mode should push thin archives to the cache</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35356">SERVER-35356</a> Add release process builder for embedded SDKs</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35737">SERVER-35737</a> install_compass fails on MacOS</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39354">SERVER-39354</a> Remove SCons cache pruning from prior branches</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39483">SERVER-39483</a> Stripped binaries and .debug files should not be cached</li>
</ul>
</div>
<div class="section" id="id108">
<h3>Tools<a class="headerlink" href="#id108" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-2030">TOOLS-2030</a> mongodump does not dump system.js collections</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-2109">TOOLS-2109</a> Build Tools with Go 1.11</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-2166">TOOLS-2166</a> mongoimport –uri logs incorrect connected hosts</li>
</ul>
</div>
<div class="section" id="id109">
<h3>Internals<a class="headerlink" href="#id109" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35138">SERVER-35138</a> service_state_machine.cpp should log a backtrace if there’s an uncaught exception</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35551">SERVER-35551</a> Mongobridge nodes don’t remember their network partition configuration after a restart</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36231">SERVER-36231</a> Mongos write path doesn’t look for retryable write concern errors</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37183">SERVER-37183</a> BSONElement::safeNumberLong is not safe</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37382">SERVER-37382</a> printShardingStatus.js races with ShardingUptimeReporter thread</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37620">SERVER-37620</a> Improve watchdog_test reliability</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38319">SERVER-38319</a> DBClientRS should propagate URI options through all paths</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38538">SERVER-38538</a> Improve thread safety of PeriodicRunnerImpl</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38674">SERVER-38674</a> –ssl=off builds emit a scons warning</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38697">SERVER-38697</a> Powercycle kill by PID might try to kill the wrong process</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38725">SERVER-38725</a> Maven central release automation cannot close sonatype repository (401 unauthorized)</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38746">SERVER-38746</a> Provide reason for transaction abort</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38748">SERVER-38748</a> Background indexes created through applyOps should run on the command thread</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38789">SERVER-38789</a> Accept connection failure on Windows in ssl_alert_reporting.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38816">SERVER-38816</a> Use generate.tasks for required tasks over target runtime</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38837">SERVER-38837</a> Make periodic_runner_impl_test more lenient in OnePausableJobResumesCorrectly</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38933">SERVER-38933</a> currentOp is not resilient to drop shard</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38954">SERVER-38954</a> Increase query execution time for the test case in max_time_ms.js that expects it to hit the time limit</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39009">SERVER-39009</a> Make bulldlogger credentials location configurable via environment variable</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39014">SERVER-39014</a> Incorrect error reported while re-installing with the Windows MSI</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39019">SERVER-39019</a> $elemMatch $ne serialization is incorrect, doesn’t roundtrip</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39031">SERVER-39031</a> Make SCons default –jobs to CPU count</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39056">SERVER-39056</a> Further refine readWriteAnyDatabase</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39058">SERVER-39058</a> Synchronize user set modification in AuthorizationSession with Client</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39127">SERVER-39127</a> Use generate.tasks for already converted tasks on all variants</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39128">SERVER-39128</a> Avoid double-authentication during connect from mongo shell</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39138">SERVER-39138</a> New test suites do not handle excludes properly when dividing suites</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39212">SERVER-39212</a> waitForSecondaries in background dbhash check must wait for lastApplied to reach clusterTime when enableMajorityReadConcern=false</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39232">SERVER-39232</a> Allow commands that do not require auth to refresh sessions</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39284">SERVER-39284</a> Better handle timeouts for generated tasks with repeated execution</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39303">SERVER-39303</a> Coverity analysis defect 105263: Dereference after null check</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39386">SERVER-39386</a> Specifically use the version of the android NDK that we want to use</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39421">SERVER-39421</a> Fix opCtx and baton waits</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39564">SERVER-39564</a> burn_in_tests.py doesn’t run tests in the configuration for <code class="docutils literal"><span class="pre">*_gen</span></code> Evergreen tasks</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39590">SERVER-39590</a> improve port_options.js logfile polling</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39686">SERVER-39686</a> Clean up cloud_nightly project file</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39746">SERVER-39746</a> System-Performance: Write project in runtime.yml</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39779">SERVER-39779</a> Don’t override timeouts if not all test have history</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39822">SERVER-39822</a> Improve watchdog_test.exe test reliability</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39823">SERVER-39823</a> Free Monitoring may ignore re-register requests on secondaries</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39830">SERVER-39830</a> Race in PeriodicRunnerImpl between start() and stop()</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39900">SERVER-39900</a> change_streams_resume_at_same_clustertime.js should not assume same that multi-update across shards are performed at the same clusterTime</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39946">SERVER-39946</a> Handle splitting tasks with only filtered test history</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40034">SERVER-40034</a> Set setup_group_can_fail_task to true for compile-related task groups</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40076">SERVER-40076</a> Tag JavaScript tests with the reason they’re unable to run in Atlas</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-40195">SERVER-40195</a> Pin all Gradle dependencies</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-1906">TOOLS-1906</a> Ignore mongorestore error “x509 certificate routines:X509_STORE_add_cert:cert already in hash table”</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-2158">TOOLS-2158</a> mongodump failing on Windows with  “error opening system CA store: Access is denied.”</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-2167">TOOLS-2167</a> Add CGO flags for building on Windows</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-2168">TOOLS-2168</a> Add CGO flags for building on MacOS</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-2210">TOOLS-2210</a> Build with tools with Address Space Layout Randomised (ASLR) flags enabled</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4447">WT-4447</a> Add prototype implementation allowing limiting of IO per subsystem</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4483">WT-4483</a> Improve caching of small updates to large values</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4518">WT-4518</a> Give applications a chance to handle panic before API panic returns</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4522">WT-4522</a> Update WiredTiger copyrights to 2019</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4528">WT-4528</a> Retry Windows functions on access denied</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4532">WT-4532</a> Fix null pointer access to WT_DATA_HANDLE in __wt_page_in_func</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4547">WT-4547</a> Consolidate capacity and block manager bytes written</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4562">WT-4562</a> Coverity: possible divide by zero conn_capacity:434</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4576">WT-4576</a> Coverity warning in conn_capacity.c</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4615">WT-4615</a> Sync backup file before returning backup cursor</li>
</ul>
</div>
</div>
<div class="section" id="id110">
<span id="id111"></span><h2>4.0.6 Changelog<a class="headerlink" href="#id110" title="Permalink to this headline">¶</a></h2>
<div class="section" id="id112">
<h3>Security<a class="headerlink" href="#id112" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37565">SERVER-37565</a> mongod continuously restarting after upgrade to 4.0.2</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38293">SERVER-38293</a> Make listDatabases understand collection privileges</li>
</ul>
</div>
<div class="section" id="id113">
<h3>Sharding<a class="headerlink" href="#id113" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-9043">SERVER-9043</a> Link <cite>flushRouterConfig</cite> on the config server and shards</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-31156">SERVER-31156</a> Admin command to update the chunk metadata for only one collection</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36863">SERVER-36863</a> query_config.js assumes that config.mongos is always present</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38050">SERVER-38050</a> The range deleter doesn’t validate it is still operating on the same collection after the deletion loop</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38062">SERVER-38062</a> Add assert.commandWorked() to commands in read_pref_cmd.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38196">SERVER-38196</a> Coverity analysis defect 105128: Unchecked return value</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38472">SERVER-38472</a> A config server can return early for a shardCollection command even if the shard hasn’t finished its own shardCollection command</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38641">SERVER-38641</a> clone_catalog_data.js should call awaitLastOpCommitted on CSRS before calling _cloneCatalogData directly against shard</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38751">SERVER-38751</a> _migrateClone and _transferMods incorrectly labeled as idempotent in MigrationDestinationManager</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39030">SERVER-39030</a> Wrong info logged by splitVector</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39180">SERVER-39180</a> Wrong initial chunk owner shard can be selected when sharding non-empty collection with pre-created zones</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39234">SERVER-39234</a> Sharding an empty collection in mixed-shard version configurations may leave all chunks on the primary shard</li>
</ul>
</div>
<div class="section" id="id114">
<h3>Replication<a class="headerlink" href="#id114" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-32146">SERVER-32146</a> Log slow oplog entry application</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34943">SERVER-34943</a> failCommand failpoint should ignore commands from replica set members</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35608">SERVER-35608</a> Invariant that term from lastAppliedOptime is never greater than our current term</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37189">SERVER-37189</a> transactions.currentActive has a value of -1</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37910">SERVER-37910</a> Create new serverStatus metric for number of operations applied on a secondary that’s incremented at batch boundaries</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37915">SERVER-37915</a> Replication doesn’t update opsCounterRepl command on secondaries</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38052">SERVER-38052</a> ReplBatcher thread must handle exceptions</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38059">SERVER-38059</a> Transactions write conflicts tests should clean up any transactions on failure</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38200">SERVER-38200</a> Fix ./jstests/replsets/initial_sync_oplog_hole.js to prevent using stale heartbeat info in the test.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38476">SERVER-38476</a> Increase timeout for clean_shutdown_oplog_state.js, again</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38647">SERVER-38647</a> backup_restore_rolling.js can fail due to stepdown</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38740">SERVER-38740</a> Remove wait for drop to have pending X lock in abort_transaction_thread_does_not_block_on_locks.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38998">SERVER-38998</a> Create serverStatus metrics for readConcern and writeConcern</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39142">SERVER-39142</a> ServerWriteConcernMetrics must lock _mutex before modifying members</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39267">SERVER-39267</a> Guard opWriteConcernCounters behind flag</li>
</ul>
</div>
<div class="section" id="id115">
<h3>Query<a class="headerlink" href="#id115" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35455">SERVER-35455</a> QueryPlannerAccess should hold owned pointers by unique_ptr rather than raw pointer</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38275">SERVER-38275</a> Handle explains without namespaces</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38601">SERVER-38601</a> Add regression test for memory leak during planning</li>
</ul>
</div>
<div class="section" id="write-operations">
<h3>Write Operations<a class="headerlink" href="#write-operations" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37284">SERVER-37284</a> ndeleted:0 is logged/profiled when the number of deleted documents is not known</p>
</div>
<div class="section" id="id116">
<h3>Aggregation<a class="headerlink" href="#id116" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39109">SERVER-39109</a> mongod crash: Invariant failure !_exec src/mongo/db/pipeline/document_source_cursor.cpp 295</p>
</div>
<div class="section" id="id117">
<h3>Storage<a class="headerlink" href="#id117" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37484">SERVER-37484</a> Only alter table logging settings on startup and not collection creation</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37911">SERVER-37911</a> CreateIndex via applyOps should notify opObserver in the WUOW of index commit</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38434">SERVER-38434</a> queryableBackupMode and wiredTigerEngineConfigString flags are incompatible</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38498">SERVER-38498</a> decrease number of updates in rollback_wt_cache_full.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38779">SERVER-38779</a> Build a mechanism to periodically cleanup old sessions from session cache</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38869">SERVER-38869</a> Log more information in run_check_repl_dbhash_background.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38928">SERVER-38928</a> background dbhash test hook incorrectly relies on a primary’s lastApplied being &gt;= its secondary’s lastApplied</li>
</ul>
</div>
<div class="section" id="id118">
<h3>Operations<a class="headerlink" href="#id118" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-33469">SERVER-33469</a> Make syslog log lines consistent with mongod log lines</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38983">SERVER-38983</a> Differentiate UserNotFound from AuthenticationFailure in audit log</li>
</ul>
</div>
<div class="section" id="id119">
<h3>Build and Packaging<a class="headerlink" href="#id119" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35936">SERVER-35936</a> MongoDB Community Windows installer fails to install Compass</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37775">SERVER-37775</a> Platform Support: Add Community RHEL7 (zSeries)</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37777">SERVER-37777</a> Platform Support: Add Community SLES12 (zSeries)</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37778">SERVER-37778</a> Platform Support: Add Community &amp; Enterprise Ubuntu 18.04  (zSeries)</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38416">SERVER-38416</a> Upgrade static OpenSSL to 1.1.1a</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38726">SERVER-38726</a> Add stable toolchain variables files</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39176">SERVER-39176</a> Repo config for RHEL7 s390x is missing</li>
</ul>
</div>
<div class="section" id="id120">
<h3>Internals<a class="headerlink" href="#id120" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-31755">SERVER-31755</a> Raise intermediate $lookup document size to 100MB, and make it configurable</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34394">SERVER-34394</a> Server Option to Explicitly Prevent SNMP Usage</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35393">SERVER-35393</a> Go Driver Unit Tests receive error code 9001 when doing a large insert many</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35620">SERVER-35620</a> downloaded file integrity: use shasum instead of python script</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36740">SERVER-36740</a> Sometimes crashes on windows don’t provide a backtrace</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36774">SERVER-36774</a> Allow shell assertion functions to take objects for the ‘message’ argument</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36817">SERVER-36817</a> replSetFreeze command run by stepdown thread may fail when server is already primary</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37078">SERVER-37078</a> Use awaitSecondaryNodes() instead of waitForState() to confirm a node is a secondary in repair_invalidates_replica_set_nodes.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37143">SERVER-37143</a> Retry on Interrupted errors in the background DB hash hook</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37240">SERVER-37240</a> Enable dbhash background thread for enableMajorityReadConcern:false variant</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37241">SERVER-37241</a> Add testing to verify proper expiration of sessions in the sessions collection</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37359">SERVER-37359</a> Update the test lifecycle script to use the new Evergreen test stats endpoint</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37428">SERVER-37428</a> Sys-perf: linux builds using enterprise bits</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37490">SERVER-37490</a> Increase the ConnectTimeout for powercycle</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37562">SERVER-37562</a> Reduce all IX locks to IS locks in SessionsCollectionRS</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38109">SERVER-38109</a> Update generate_resmoke_suite.py to use cached history endpoint</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38110">SERVER-38110</a> Generate resmoke config YAML for a sub-suite</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38112">SERVER-38112</a> Add “generate resmoke sub-suites” in etc/evergreen.yml</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38113">SERVER-38113</a> Generate evergreen config for generated sub-suites</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38114">SERVER-38114</a> Update evergreen.yml to use generate tasks for already split tasks</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38115">SERVER-38115</a> Consolidate setting of resmoke.py –job to a python script</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38177">SERVER-38177</a> Repair with bind_ip results in a null pointer dereference</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38182">SERVER-38182</a> run_check_repl_dbhash_background aborts all transactions after an error even if they’ve already successfully committed</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38415">SERVER-38415</a> checkLog.containsWithCount does not reset count before each loop of assert.soon</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38445">SERVER-38445</a> Date_t and Duration addition can overflow</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38509">SERVER-38509</a> Handle degraded mode for test history in generate_resmoke_suites</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38616">SERVER-38616</a> LDAPArrayIterator behaves incorrectly when initialized with an empty array</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38639">SERVER-38639</a> Install psutil module in “run tests” in etc/evergreen.yml [v4.0]</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38710">SERVER-38710</a> Support dependencies when generating evergreen tasks</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38748">SERVER-38748</a> Background indexes created through applyOps should run on the command thread</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38818">SERVER-38818</a> Better handle dependencies between generated tasks</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38887">SERVER-38887</a> Mongo.getDBs() does not correctly inspect privileges</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38946">SERVER-38946</a> Properly handle new excludes in generated tests</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38990">SERVER-38990</a> Exclude tests that require mmapv1 for s390x variants</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-39013">SERVER-39013</a> Add gdb pretty printers for absl::flat_hash_map/set</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4192">WT-4192</a> Remove WiredTiger raw compression support</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4280">WT-4280</a> Add debugging to know which session has a hazard pointer</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4319">WT-4319</a> Improvements to csuite tests</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4331">WT-4331</a> Further extend max wait time for test_bug019.py</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4383">WT-4383</a> Update session statistics to reflect the operation statistics.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4384">WT-4384</a> Add documentation about session statistics cursor</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4393">WT-4393</a> Document cursor behaviour for read committed isolation</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4410">WT-4410</a> Split ‘unit-test’ task to reduce Evergreen Ubuntu build variant runtime</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4417">WT-4417</a> Make os_cache_max and os_cache_dirty_max reconfigurable</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4421">WT-4421</a> Add a way to calculate modify operations</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4430">WT-4430</a> Fix race between prepare and page instantiate with fast truncate</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4434">WT-4434</a> Modify zstd compression level from 3 to 6</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4438">WT-4438</a> Use more accurate statistics for cursor cache totals</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4442">WT-4442</a> Add the ability to duplicate a backup cursor</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4454">WT-4454</a> Auto-generate Evergreen configuration when adding new ‘make check’ or csuite tests</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4455">WT-4455</a> test_wt4156_metadata_salvage with HAVE_ATTACH fails on zSeries</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4457">WT-4457</a> Add a maximum of dirty system buffers for the logging subsystem</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4463">WT-4463</a> Reduce runtime for csuite handle locks testing</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4464">WT-4464</a> In debug output row-store internal page keys may not format correctly</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4469">WT-4469</a> Coverity #105148: redundant test</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4470">WT-4470</a> Minimize testing that requires TESTUTIL_ENABLE_LONG_TESTS</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4479">WT-4479</a> Remove schema lock wait assertion from the test</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4480">WT-4480</a> Fix duplicate backup cursor and archiving check</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4481">WT-4481</a> Evergreen script cleanups</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4482">WT-4482</a> lint</li>
</ul>
</div>
</div>
<div class="section" id="id121">
<span id="id122"></span><h2>4.0.5 Changelog<a class="headerlink" href="#id121" title="Permalink to this headline">¶</a></h2>
<div class="section" id="id123">
<h3>Security<a class="headerlink" href="#id123" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35212">SERVER-35212</a> URI connection does not default to admin database when no authSource is specified</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37687">SERVER-37687</a> Capture libldap ErrorString in bind failure</li>
</ul>
</div>
<div class="section" id="id124">
<h3>Sharding<a class="headerlink" href="#id124" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-30714">SERVER-30714</a> Handle step down error in ReplicationCoordinatorExternalStateImpl::_shardingOnTransitionToPrimaryHook</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36349">SERVER-36349</a> Handle the ShardingOperationFailedStatus in the OperationShardingState destructor when the OperationContext is not created in a ServiceEntryPoint</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36965">SERVER-36965</a> Ensure setUp writes in <cite>safe_secondary_reads_single_migration_suspend_range_deletion.js</cite> get propagated to the shard secondary</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36966">SERVER-36966</a> Sharded map reduce may fail to clean up temporary output collection</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37051">SERVER-37051</a> ShardServerCatalogCacheLoader does not check the internal term after reading from the task queue</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37080">SERVER-37080</a> Implement tuneable batch size for chunk migrations</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37339">SERVER-37339</a> Sharding state is set to initialized on Grid before sharding components are fully initialized</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37354">SERVER-37354</a> Make _shardsvrShardCollection re-entrant</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37511">SERVER-37511</a> Logical session reaper and refresh threads should set up sessions collection immediately</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37616">SERVER-37616</a> Implement tuneable batch size for the rangedeleter</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37624">SERVER-37624</a> Sessions never expire when you change value of localLogicalSessionTimeoutMinutes</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37902">SERVER-37902</a> recovering_slaveok.js should assert all writes it makes succeed</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37918">SERVER-37918</a> Fast initial split algorithm produces corrupted routing info if passed unsorted zones list</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37932">SERVER-37932</a> Remove erroneous part of coll_epoch_test1.js that attempts to test something that shouldn’t work, but due to a bug in the test, the test passes</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38371">SERVER-38371</a> Session catalog migration will skip later sessions if a different earlier session encounters new transaction</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38392">SERVER-38392</a> Remove assertion that we can’t shard a non-empty collection associated with tags</li>
</ul>
</div>
<div class="section" id="id125">
<h3>Replication<a class="headerlink" href="#id125" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37317">SERVER-37317</a> Make sleepmillis more conservative in slow transaction logging unit tests</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37500">SERVER-37500</a> Blacklist geo_s2ordering from replica_sets_kill_primary_jscore_passthrough suite</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37557">SERVER-37557</a> Add startup warning about enableMajorityReadConcern and usage of arbiters</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37676">SERVER-37676</a> Implicit collection creation is allowed in aborted transactions</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37935">SERVER-37935</a> Remove read concern “majority” overrides for change streams test suites</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38024">SERVER-38024</a> initial_sync_oplog_hole test should be tagged as requiring document locking</li>
</ul>
</div>
<div class="section" id="id126">
<h3>Query<a class="headerlink" href="#id126" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36115">SERVER-36115</a> invalidated_cursors.js FSM workload should ensure killOp is sent to same node as currentOp</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37385">SERVER-37385</a> Change max_time_ms.js to tolerate ‘Interrupted’ error codes</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37838">SERVER-37838</a> stepDown during a getMore followed by an OP_KILL_CURSORS can crash the server</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38070">SERVER-38070</a> Infinite loop in aggregation expression</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38164">SERVER-38164</a> $or pushdown optimization does not correctly handle $not within an $elemMatch</li>
</ul>
</div>
<div class="section" id="id127">
<h3>Aggregation<a class="headerlink" href="#id127" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37027">SERVER-37027</a> [4.0 only] Adapt change stream resume token when a stream detects FCV changes</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37182">SERVER-37182</a> Different values when referencing whole object vs. a field of that object after $arrayToObject</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37200">SERVER-37200</a> $match stage following $listSessions not working against mongos</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37750">SERVER-37750</a> Optimized $sample stage does not yield</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37779">SERVER-37779</a> mongos does not correctly enforce that a change stream must be the first stage</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38223">SERVER-38223</a> change_fcv_during_change_stream.js requires majority read concern</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38332">SERVER-38332</a> change_fcv_during_change_stream.js requires transactions</li>
</ul>
</div>
<div class="section" id="id128">
<h3>Storage<a class="headerlink" href="#id128" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-29825">SERVER-29825</a> Do not allow rename from unreplicated to replicated DB or vice-versa</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36873">SERVER-36873</a> ReplicationCoordinatorExternalStateImpl::shutdown() must not hold _threadMutex while waiting for _taskExecutor</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36968">SERVER-36968</a> Rebuild interrupted indexes before checking AuthZN index presence</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37313">SERVER-37313</a> FTDC collection blocked during foreground index build on secondary</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37408">SERVER-37408</a> Add afterClusterTime to initial sync collection scans</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37524">SERVER-37524</a> In-Memory Storage Engine With Storage Watchdog Crashes The Server</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37784">SERVER-37784</a> Repairing the size storer should not fassert</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37796">SERVER-37796</a>         Always salvage WiredTiger metadata regardless of error code when starting with repair</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37862">SERVER-37862</a> Reduce update ops in initial_sync_wt_cache_full.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37930">SERVER-37930</a> Add test coverage for createIndexes inside nested applyOps</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37931">SERVER-37931</a> lock_stats_suboperation_logs.js should ignore noise lock stats</li>
</ul>
</div>
<div class="section" id="id129">
<h3>Operations<a class="headerlink" href="#id129" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35485">SERVER-35485</a> Mongo Shell does not accept compressors connection string argument</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36262">SERVER-36262</a> mongo shell: allow users to show dbs (on &lt;4.0 versions of the server) without the listDatabases privilege</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36272">SERVER-36272</a> Shell assertion failure with certain characters in the password</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36977">SERVER-36977</a> Initial mongod.log is created using umask vs mode 600</li>
</ul>
</div>
<div class="section" id="id130">
<h3>Build and Packaging<a class="headerlink" href="#id130" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35972">SERVER-35972</a> Run push tasks more often</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37598">SERVER-37598</a> Add a canary builder for GCC 8</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38049">SERVER-38049</a> embedded-android pom.xml should declare slf4j dependency as optional</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38078">SERVER-38078</a> WT SCons configure checks for fallocate and sync_file_range are broken</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38421">SERVER-38421</a> Requirement on cryptography should reflect what is in the toolchain</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38581">SERVER-38581</a> Create “is_release” compile expansion</li>
</ul>
</div>
<div class="section" id="id131">
<h3>Tools<a class="headerlink" href="#id131" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-1709">TOOLS-1709</a> Set build version and git revision using -ldflags</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-2149">TOOLS-2149</a> Configure build outside Evergreen</li>
</ul>
</div>
<div class="section" id="id132">
<h3>Internals<a class="headerlink" href="#id132" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34770">SERVER-34770</a> Retry on JavaScript execution interruptions in stepdown suites</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35062">SERVER-35062</a> Add TPCC to Sys Perf Configuration</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35250">SERVER-35250</a> save dbtest debug symbols in debug_symbols tar</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35768">SERVER-35768</a> gssapiServiceName URL parameter does not work</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35832">SERVER-35832</a> Correct flaws in Dagger evergreen config</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36060">SERVER-36060</a> Make unit tests build cleanly on clang-6</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36437">SERVER-36437</a> The dbstats command should lock the database in MODE_IS instead of MODE_S</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36626">SERVER-36626</a> Draw wait-for graph from left to right</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36805">SERVER-36805</a> Run tpcc on 3 node replset</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36998">SERVER-36998</a> compile_dbtest task isn’t running against large distro on Enterprise Windows 2008R2 builder</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37472">SERVER-37472</a> Improve behavior if user downgrades to 4.0 binary without setting FCV to 4.0</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37526">SERVER-37526</a> IDLify listDatabases command</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37527">SERVER-37527</a> Broken logic in ServerMechanismBase class.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37551">SERVER-37551</a> Add {authorizedDatabases:bool} param to {listDatabases} command.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37628">SERVER-37628</a> Fix mongo_uri_test:InvalidTestCase construction</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37678">SERVER-37678</a> Update linter to enforce SSPL in header files</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37717">SERVER-37717</a> Race between Baton::notify() and Waitable::wait()</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37854">SERVER-37854</a> Coverity analysis defect 105094: Uninitialized scalar field</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37877">SERVER-37877</a> Enable sys-perf testing of auditing on v4.0</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37913">SERVER-37913</a> coll_epoch_test1.js does not wait for the config server to replicate after dropping collections.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37941">SERVER-37941</a> specifying –bind_ip localhost results in error “address already in use” when IPv6 alias exists</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38055">SERVER-38055</a> Mongod servers started through the shell do not respect TestData.enableMajorityReadConcern</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38066">SERVER-38066</a> Shell utils should open files in binary mode</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38098">SERVER-38098</a> MongoDB’s yaml-cpp is rejected by latest MSVC</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38111">SERVER-38111</a> Implement max_sub_suites in generate_resmoke_suite.py</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38116">SERVER-38116</a> Update fuzzer tasks to use generate.tasks</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38159">SERVER-38159</a> Blacklist umask nopassthrough test on mmapv1</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38178">SERVER-38178</a> Buffer Overflow in data_builder.h when using terminated StringDatas</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38281">SERVER-38281</a> TLS info message isn’t captured into system log</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38303">SERVER-38303</a> Temporarily handle ipv6 failures due to s390x machine without ipv6 enabled</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38306">SERVER-38306</a> change ‘multipath’ to ‘multiversion’ in evergreen_gen_fuzzer_test</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38312">SERVER-38312</a> Unable to run jstestfuzz* tasks on variants with long names</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-38452">SERVER-38452</a> Automate Maven Central releases for MongoDB embedded</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-1566">TOOLS-1566</a> Should not include “ssl” tag for Linux 64 build</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-1742">TOOLS-1742</a> import cycle between util and testutil</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-1996">TOOLS-1996</a> Allow building tools from inside an ordinary GOPATH</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-2155">TOOLS-2155</a> Set version/git-commit via ldflags in Evergreen and Server Evergreen</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-2157">TOOLS-2157</a> Update server vendoring</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-3756">WT-3756</a> Adjust pre-allocated file amount downward if we’re not using them quickly enough</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4043">WT-4043</a> Take locks while dumping the cache to avoid crashes</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4159">WT-4159</a> Improve log preallocation algorithm</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4298">WT-4298</a> Fix workgen to retry on WT_ROLLBACK and clear ops after warmup</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4343">WT-4343</a> Unlock when sleeping to allow other log threads to make progress</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4345">WT-4345</a> Set corruption and return salvage on facing a missing log file</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4371">WT-4371</a> Workgen improvements to create a MongoDB-like workload</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4372">WT-4372</a> For throughput testing, create a standard metric to measure latency smoothness</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4376">WT-4376</a> Fix a bug where table index open can race</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4378">WT-4378</a> Create new auto functions and cursor for session level statistics</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4381">WT-4381</a> Reset session statistics as on WT_SESSION::reset()</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4385">WT-4385</a> Prepare-conflict during a cursor scan can return the wrong key</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4392">WT-4392</a> A large lint change</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4394">WT-4394</a> Reduce Evergreen Ubuntu build variant runtime by splitting up ‘make check’ tests</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4395">WT-4395</a> Seg fault walking corrupted log with log cursor</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4396">WT-4396</a> When retrying after prepare-conflict, cursor unable to find a valid update</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4399">WT-4399</a> Fix compression with workgen’s wtperf emulation</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4400">WT-4400</a> Fix workgen use of PRIxxx macros, needed for old C++ compilers</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4401">WT-4401</a> workgen: wtperf emulation: sample_interval broken with integer values</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4402">WT-4402</a> Add rollback support and monitor JSON output in wtperf</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4403">WT-4403</a> Add statistic tracking accumulated dirty cache</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4405">WT-4405</a> Fix cursor next and prev for prepared transactions</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4409">WT-4409</a> Fix workgen throttling</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4411">WT-4411</a> Added connection statistic for current total of cached cursors</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4412">WT-4412</a> wtperf coverity fixes</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4418">WT-4418</a> Don’t keep key/value memory buffers allocated for cached cursors</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4419">WT-4419</a> big-endian machines incorrectly configure little-endian crc32c support</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4422">WT-4422</a> Don’t queue clean pages for urgent eviction</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4427">WT-4427</a> Make WiredTiger timestamps always on and 8 bytes</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4440">WT-4440</a> Force a copy of the stable timestamp for clarity</li>
</ul>
</div>
</div>
<div class="section" id="id133">
<span id="id134"></span><h2>4.0.4 Changelog<a class="headerlink" href="#id133" title="Permalink to this headline">¶</a></h2>
<div class="section" id="id135">
<h3>Security<a class="headerlink" href="#id135" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37135">SERVER-37135</a> TLSVersionCounts needs to track and report TLS 1.3</p>
</div>
<div class="section" id="id136">
<h3>Sharding<a class="headerlink" href="#id136" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-29160">SERVER-29160</a> Sharding commonly uses write concern timeouts of 15 seconds and these are timing out in migration related operations and causing BFs</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-31563">SERVER-31563</a> Reevaluate not_allowed_on_sharded_collection_cmd.js testing</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-31892">SERVER-31892</a> moveChunk with <cite>waitForDelete</cite> doesn’t wait for majority write concern</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35323">SERVER-35323</a> sessionId matching ignores userId part of the lsid</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35763">SERVER-35763</a> lastWriteDate field can get out of sync between repl set nodes during migration</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36831">SERVER-36831</a> LogicalSessionCache on mongos does not correctly report active operations</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36850">SERVER-36850</a> Add a replication passthrough suite to detect errors in LogicalSessionsCache</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36959">SERVER-36959</a> _shardServerShardCollection should use afterOpTime when counting chunks on the config server</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37142">SERVER-37142</a> invariant failure during movePrimary during cleanup</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37330">SERVER-37330</a> Add sharded passthrough suites to detect errors in LogicalSessionCache</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37430">SERVER-37430</a> Destroy sharding task executors and AsyncRequestSenders after the PeriodicRunner is destroyed in mongod shutdown</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37496">SERVER-37496</a> The balancer shouldn’t register a shutdown task after the process is multithreaded</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37578">SERVER-37578</a> Assert that a zone is associated with a shard before sharding the collection</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37657">SERVER-37657</a> Report the offending oplog entries if a batch contains non-increasing transaction numbers</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37918">SERVER-37918</a> Fast initial split algorithm produces corrupted routing info if passed unsorted zones list</li>
</ul>
</div>
<div class="section" id="id137">
<h3>Replication<a class="headerlink" href="#id137" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-20845">SERVER-20845</a> re-add replSetReconfig to auditing suite</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36978">SERVER-36978</a> TaskRunner must ensure Client is initialized for thread before running tasks</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36979">SERVER-36979</a> Aborting a transaction must abort WUOW before releasing locks.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37118">SERVER-37118</a> Coverity analysis defect 105000: Arguments in wrong order</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37227">SERVER-37227</a> Reintroduce enableMajorityReadConcern:false server parameter</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37514">SERVER-37514</a> Snapshot readConcern without atClusterTime should always be speculative</li>
</ul>
</div>
<div class="section" id="id138">
<h3>Query<a class="headerlink" href="#id138" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37058">SERVER-37058</a> Update with numeric field names inside an array can cause validation to fail</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37132">SERVER-37132</a> Negation of $in with regex can incorrectly plan from the cache, leading to missing query results</li>
</ul>
</div>
<div class="section" id="id139">
<h3>JavaScript<a class="headerlink" href="#id139" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-30773">SERVER-30773</a> bsonWoCompare and bsonBinaryEqual should work with bsonelement types</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37126">SERVER-37126</a> Invoke runSafely for all external implscope methods</li>
</ul>
</div>
<div class="section" id="id140">
<h3>Storage<a class="headerlink" href="#id140" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-26854">SERVER-26854</a> LockStats for sub-operations should not include time for previous sub ops</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36534">SERVER-36534</a> Don’t acquire locks on oplog when writing oplog entries</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36883">SERVER-36883</a> support non-doc-locking storage engines in SERVER-36534</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37055">SERVER-37055</a> IndexBuildBlock::fail() should grab a lock</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37394">SERVER-37394</a> Invariant failure deadline != Date_t::max() or Invariant failure date.isFormattable()</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37618">SERVER-37618</a> Capture all the logs in lock_stats_suboperation_logs.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37662">SERVER-37662</a> Include backupCursor state in output of serverStatus</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37749">SERVER-37749</a> replSetResizeOplog command does not validate argument</li>
</ul>
</div>
<div class="section" id="id141">
<h3>Build and Packaging<a class="headerlink" href="#id141" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37067">SERVER-37067</a> Upgrade static OpenSSL to 1.1.0i</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37158">SERVER-37158</a> Set compatibility_version field for darwin SDK shared libraries</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37402">SERVER-37402</a> Improve mobile licensing text</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37407">SERVER-37407</a> Harmonize embedded tarball name and unpacked directory names</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37488">SERVER-37488</a> Install BCSymbolsMap into darwin embedded frameworks</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37584">SERVER-37584</a> Build failure on case-sensitive macOS file system: CommonHmac.h</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37596">SERVER-37596</a> Add debug info packages to mobile SDK builds</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37640">SERVER-37640</a> no member named ‘SSLCopyRequestedPeerNameLength’ in the global namespace</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37651">SERVER-37651</a> Update license files for MongoDB Community Edition</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37691">SERVER-37691</a> Compile WatchOS builds with -fapplication-extension flag</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37754">SERVER-37754</a> Duplicate license headers in IDL files</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37785">SERVER-37785</a> Rename bundle identifier in frameworks to adhere to bundle naming rules</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37852">SERVER-37852</a> Publish mobile artifacts on release builds</li>
</ul>
</div>
<div class="section" id="id142">
<h3>Tools<a class="headerlink" href="#id142" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-2069">TOOLS-2069</a> mongoreplay does not support SCRAM-SHA-256</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-2102">TOOLS-2102</a> Mongorestore does not check for errors decoding the oplog.bson file</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-2131">TOOLS-2131</a> mongorestore hang in replaying oplog with –archive and –oplogReplay option</li>
</ul>
</div>
<div class="section" id="id143">
<h3>Internals<a class="headerlink" href="#id143" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-18985">SERVER-18985</a> setParameter should log at level 0</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-31570">SERVER-31570</a> Adjust mongobridge port allocations for easier debugging</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-33470">SERVER-33470</a> Log archival message, even if successful, in hook_test_archival.py</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34986">SERVER-34986</a> CIDR Block That is Exempt from maxConns</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35570">SERVER-35570</a> Improve robustness of backup_restore.js around dropping test database</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35818">SERVER-35818</a> provide a stdx::variant</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35861">SERVER-35861</a> Remove call to dashboard_gen.py in perf.yml</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36250">SERVER-36250</a> Add support for optionally logging specific negotiated TLS versions</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36420">SERVER-36420</a> SecTrustCopyAnchorCertificates is not safe to use after a fork</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36451">SERVER-36451</a> ContinuousStepdown with killing nodes can hang due to not being able to start the primary</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36705">SERVER-36705</a> Add CocoaPod for embedded darwin frameworks</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36721">SERVER-36721</a> list_local_sessions.js cannot run concurrently with refreshLogicalSessionCacheNow</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36756">SERVER-36756</a> Log the githash of the 10gen/jstestfuzz repository when the fuzzer’s self-tests fail</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36885">SERVER-36885</a> Make ASIO remember IOCP state when transiently out of resources</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36964">SERVER-36964</a> Prevent secondaries in SessionsCollectionRS from attempting to set up the sessions collection.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36986">SERVER-36986</a> list_local_sessions.js expects non-existent session to exist when running concurrently with LogicalSessionsCache refresh</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36988">SERVER-36988</a> awaitdata_getmore_cmd.js times out when run concurrently with the LogicalSessionCache refresh suite</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37064">SERVER-37064</a> Wrap “mongod_flags” onto multiple lines for readability</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37081">SERVER-37081</a> Catch asio::system_errors when resolving GenericSocket</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37083">SERVER-37083</a> Improve Window secure allocator</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37228">SERVER-37228</a> Escape double quotes in hang analyzer’s waitsfor graph</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37334">SERVER-37334</a> Strip .jar and .aar of unnecessary shared objects</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37353">SERVER-37353</a> Handle $slice value of LLONG_MIN gracefully</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37391">SERVER-37391</a> plan_cache_index_create.js should wait for index build start, rather than just createIndexes command start</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37393">SERVER-37393</a> Fix destructor race in <cite>ReplicaSetMonitorManager</cite></li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37410">SERVER-37410</a> Add standalone passthrough suites to detect errors in LogicalSessionCache</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37411">SERVER-37411</a> Fix bundle identifiers in embedded Info.plist</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37424">SERVER-37424</a> Sys-perf: change v4.0 branch batch time to once a week</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37425">SERVER-37425</a> Longevity tests – increase batch time to once a year</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37464">SERVER-37464</a> Reduce threadCount and iterations in secondary_reads.js workload</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37467">SERVER-37467</a> Have collect_resource_info.py recover from transient errors.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37477">SERVER-37477</a> Disable TIG daily cron for update_test_lifecycle</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37495">SERVER-37495</a> Change Android minimum API level to 21</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37513">SERVER-37513</a> Pass along JNA exceptions from MongoEmbeddedCAPI.create</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37561">SERVER-37561</a> Server startupWarnings show spurious empty lines</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37563">SERVER-37563</a> Get rid of <cite>getGlobalAuthorizationManager</cite> and unnecessary references to the <cite>authorization_manager_global</cite> library</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37583">SERVER-37583</a> Changes to etc/cloud_nightly.yml</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37599">SERVER-37599</a> Log exit code of shell-spawned processes</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37683">SERVER-37683</a> Change embedded iOS min version to 11.0 in CocoaPod podspec</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37684">SERVER-37684</a> Change embedded iOS min version to 11.0 in evergreen builders</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37685">SERVER-37685</a> ensure free monitoring queue preserves FIFO on messages with same deadline</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37701">SERVER-37701</a> Make SessionUpdateTracker include the uid portion of LogicalSessionId when tracking</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37744">SERVER-37744</a> Fix license path in mongoc_embedded podspec</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37755">SERVER-37755</a> Invalid .plist for mongoc and bson .frameworks</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37813">SERVER-37813</a> Switch Android publishing from Bintray to Artifactory</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37832">SERVER-37832</a> Fix Windows/OSX ssl_options_test unittests on v4.0</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-3898">WT-3898</a> Keep prepared updates in lookaside until they are read</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-3995">WT-3995</a> Enhance timestamp abort to accept more number of threads</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4149">WT-4149</a> Log recovery and salvage should handle removal or truncation of log files</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4164">WT-4164</a> Ensure test/format configures a reasonably sized cache</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4214">WT-4214</a> Simplify timestamp handling for timestamp abort test</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4217">WT-4217</a> Enhance commit and rollback to re-read prepared updates</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4220">WT-4220</a> Enable long running prepared support</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4224">WT-4224</a> Add statistics for prepared transactions</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4293">WT-4293</a> WT_CURSOR.remove can lose a cursor position</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4297">WT-4297</a> Enhance steady throughput workload</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4314">WT-4314</a> Don’t access unmapped pages when evicting a tree</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4315">WT-4315</a> In rollback_to_stable, only check timestamp order if enforced</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4322">WT-4322</a> Enable direct I/O based crash test in make check</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4323">WT-4323</a> Fix race between setting transaction read_timestamp and updating global pinned timestamp</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4328">WT-4328</a> Use an internal session handle for schema operations in a txn</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4330">WT-4330</a> Change the wt utility to not use stdout if the -f option to the dump or  printlog commands is specified</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4333">WT-4333</a> WiredTiger cursor cache doesn’t handle all possible locked handle states</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4335">WT-4335</a> Don’t fail rollback_to_stable due to sweep activity</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4337">WT-4337</a> Coverity #1395811 Time of check time of use</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4338">WT-4338</a> New WT_TXN_TS_XXX flags break #undef HAVE_TIMESTAMPS build</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4339">WT-4339</a> Revert part of a previous commit that simplified handle locking</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4340">WT-4340</a> The cursor caching layer can incorrectly release too many handle locks</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4341">WT-4341</a> Support million collection testing in Evergeen</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4342">WT-4342</a> Set session max on all configuration strings in timestamp_abort test</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4346">WT-4346</a> Remove prepared updates from lookaside on reading the page.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4347">WT-4347</a> Limit the threads spawned by timestamp_abort with default config</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4348">WT-4348</a> Create all tables before spawning threads in random_directio test</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4351">WT-4351</a> Ensure resolving prepared transactions use updates from itself</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4355">WT-4355</a> Fail to find prepared updates during transaction rollback</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4358">WT-4358</a> Enhance the handle-lock stress test program</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4374">WT-4374</a> Fix a bug where a page could transition from WT_REF_LIMBO incorrectly</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4387">WT-4387</a> Fix ordering of referenced shared libraries in workgen</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4389">WT-4389</a> Update wtperf runner script to accept multiple arguments</li>
</ul>
</div>
</div>
<div class="section" id="id144">
<span id="id145"></span><h2>4.0.3 Changelog<a class="headerlink" href="#id144" title="Permalink to this headline">¶</a></h2>
<div class="section" id="id146">
<h3>Security<a class="headerlink" href="#id146" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35418">SERVER-35418</a> Allow specifying CAs for incoming and outgoing connections separately</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36456">SERVER-36456</a> MongoD does not support kerberos on Windows</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36827">SERVER-36827</a> Warning about “No SSL certificate validation can be performed” is misleading</li>
</ul>
</div>
<div class="section" id="id147">
<h3>Sharding<a class="headerlink" href="#id147" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-30841">SERVER-30841</a> Lower the amount of metadata refresh logging</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34500">SERVER-34500</a> Use causal consistency in database_versioning_upgrade_downgrade.js test when reading from secondary after setFCV</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35222">SERVER-35222</a> Crash on the config server at expired session cleanup</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35755">SERVER-35755</a> CollectionLock acquisition in shard_filtering_metadata_refresh.cpp can cause server to terminate on stepdown</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35773">SERVER-35773</a> MetadataManager directly calls into the CatalogCache</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36054">SERVER-36054</a> Get rid of ScopedCollectionMetadata’s operator bool</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36116">SERVER-36116</a> Get rid of CollectionShardingState::resetAll</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36130">SERVER-36130</a> Migration status reports verify connection strings – but those can change</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36164">SERVER-36164</a> Decouple ScopedCollectionMetadata from MetadataManager</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36332">SERVER-36332</a> CursorNotFound error in GetMore on a secondary with sessions</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36433">SERVER-36433</a> NamespaceSerializer lock should be used during drop database</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36634">SERVER-36634</a> Change FCV check to check for CommandNotFound in _shardsvrShardCollection and write to config after creating collections on non-primary shards</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37050">SERVER-37050</a> wait for replication in session_collection_auto_healing</li>
</ul>
</div>
<div class="section" id="id148">
<h3>Replication<a class="headerlink" href="#id148" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35616">SERVER-35616</a> Oplog query on initial syncing node can cause segmentation fault</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35793">SERVER-35793</a> Write concurrency test to verify server-wide transactions metrics tracking</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35821">SERVER-35821</a> readConcern:snapshot transactions need a read timestamp &lt;= WT’s all_committed point</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36127">SERVER-36127</a> use w:majority instead of w:2 in apply_batch_only_goes_forward.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36470">SERVER-36470</a> Prevent change_stream_failover.js to elect a new primary which is the same as old primary after old primary steps down.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36503">SERVER-36503</a> Skip dry-run election during election handoff</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36539">SERVER-36539</a> Test that DBClientCursor sends getMore for exhaust cursor if moreToCome is not set</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36565">SERVER-36565</a> Killing a session with a transaction can cause the thread to throw WriteConflictError</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36746">SERVER-36746</a> A failed step down attempt shouldn’t unconditionally reset LeaderMode to kMaster</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36846">SERVER-36846</a> TransactionsMetrics unit test should sleep a bit when trying to assert elapsed time &gt; 0</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36975">SERVER-36975</a> Fix race condition in read_concern_snapshot_catalog_invalidation.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36982">SERVER-36982</a> Reintroduce enableMajorityReadConcern:false server parameter</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36985">SERVER-36985</a> Test single replica set transactions immediately after a rollbackViaRefetch</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37010">SERVER-37010</a> Prevent unexpected elections in initial_sync4.js and initial_sync_rename_collection*.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37048">SERVER-37048</a> Hold global intent lock whenever accessing the oplog collection pointer</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37105">SERVER-37105</a> Make it clear from the stack trace whether a command is running in a transaction</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37147">SERVER-37147</a> sessions_collection_auto_healing.js should use 2 node replica set</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37152">SERVER-37152</a> Increase write concern timeouts for writes expected to succeed in tags.js</li>
</ul>
</div>
<div class="section" id="id149">
<h3>Query<a class="headerlink" href="#id149" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-13946">SERVER-13946</a> Consider putting skip stages below fetch stages</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36212">SERVER-36212</a> getMore should not enforce that session id matches until FCV is 4.0</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36299">SERVER-36299</a> Implement support for exhaust cursors with OP_MSG in DBClientCursor</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36435">SERVER-36435</a> Increase maxTimeMS timeout in awaitdata_getmore_cmd.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36453">SERVER-36453</a> Fix race condition in aggregation_cursor_invalidations.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36944">SERVER-36944</a> applyOps does not permit unknown field names when creating a v:1 index</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36951">SERVER-36951</a> applyOps should work with a createIndexes command without a UUID</li>
</ul>
</div>
<div class="section" id="id150">
<h3>Aggregation<a class="headerlink" href="#id150" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36993">SERVER-36993</a> mongod crash:  Invariant failure indexedOr src/mongo/db/query/index_tag.cpp 237</p>
</div>
<div class="section" id="id151">
<h3>Storage<a class="headerlink" href="#id151" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34577">SERVER-34577</a> read_after_optime.js fails on mongoe</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34606">SERVER-34606</a> Test (and possibly fix) behavior around majority commit point and oplog truncation</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35657">SERVER-35657</a> Do not delay journal flushes when operations are waiting for oplog visibility</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35780">SERVER-35780</a> <cite>renameCollection</cite> across databases incorrectly timestamps metadata for secondary index builds</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36400">SERVER-36400</a> Explicitly destroy the client on exiting the run body of each BackgroundJob</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36531">SERVER-36531</a> Lock acquisition may throw despite presence of UninterruptibleLockGuard when WT tickets are exhausted</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36879">SERVER-36879</a> write regression test for stuck cache issue during rollback</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36961">SERVER-36961</a> createIndexes command should check if index already exists with weak lock</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36969">SERVER-36969</a> initial_sync_wt_cache_full.js takes too long to complete on slow hosts</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37002">SERVER-37002</a> dropping a collection with long index names via rename fails under MMAPv1</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37121">SERVER-37121</a> Retry timestamping secondary background index builds</li>
</ul>
<div class="section" id="id152">
<h4>WiredTiger<a class="headerlink" href="#id152" title="Permalink to this headline">¶</a></h4>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-19815">SERVER-19815</a> Make repair more robust with the WiredTiger storage engine</li>
</ul>
</div>
</div>
<div class="section" id="id153">
<h3>Operations<a class="headerlink" href="#id153" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-27588">SERVER-27588</a> Warning to disable defrag of transparent_hugepages when thp is disabled</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-33606">SERVER-33606</a> mongo shell startSession() should fail if the server doesn’t support logical sessions</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34864">SERVER-34864</a> String-valued fields should not participate in schema change detection in ftdc</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35989">SERVER-35989</a> Mongo shell needs a countDocuments function</li>
</ul>
</div>
<div class="section" id="id154">
<h3>Build and Packaging<a class="headerlink" href="#id154" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-29908">SERVER-29908</a> Libraries db/s/sharding and db/query/query are directly cyclic</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-33911">SERVER-33911</a> Allow overriding global link model for specific targets</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-33912">SERVER-33912</a> Remove –disable-warnings-as-errors from embedded builds</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34007">SERVER-34007</a> Relicense Embedded SDK Builds</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35078">SERVER-35078</a> Build embedded SDK with bitcode</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35184">SERVER-35184</a> Enable link-time-optimization for embedded SDK builders</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36884">SERVER-36884</a> Update curator version on stable branches</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36943">SERVER-36943</a> Build embedded targets with -Wl,-object_path_lto</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37138">SERVER-37138</a> Revert to always building with bitcode</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37157">SERVER-37157</a> Create unified darwin builder for embedded</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37251">SERVER-37251</a> Revert to stable channel for Android NDK setup</li>
</ul>
</div>
<div class="section" id="id155">
<h3>Tools<a class="headerlink" href="#id155" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-30997">SERVER-30997</a> mongo cli –password is masked, but not when using mongodb:// connection string</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-2035">TOOLS-2035</a> mongofiles_write_concern_mongos.js fails on server unstable</li>
</ul>
</div>
<div class="section" id="id156">
<h3>Internals<a class="headerlink" href="#id156" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-28990">SERVER-28990</a> when started with –repair mongod should not try to bind to a port</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-33908">SERVER-33908</a> Add pre and post invocation background activity hooks to CAPI implementation</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-33978">SERVER-33978</a> References to sudo in evergreen.yml should use ${set_sudo}</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34120">SERVER-34120</a> scoped connection not being returned to the pool</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34711">SERVER-34711</a> Enable burn_in_tests to understand Evergreen task selectors</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34798">SERVER-34798</a> Replace subclasses of ServiceContext with decorations and flexible initialization code</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35216">SERVER-35216</a> Expose ReplicaSetManager refresh period to the mongo shell</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35233">SERVER-35233</a> Powercycle remote collection validation does not skip views</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35284">SERVER-35284</a> C++ “death test” unit tests should fork before constructing the test fixture, not after.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35517">SERVER-35517</a> Add failpoint mechanism to the mongo shell</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35585">SERVER-35585</a> Make PeriodicRunner jobs be pausable/resumable</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35629">SERVER-35629</a> Use WiredTiger salvage API for repairing metadata files</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35630">SERVER-35630</a> Missing or corrupt data files should cause MongoDB to exit with an error message to run repair</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35696">SERVER-35696</a> Provide a way to restore idents known by WiredTiger, but unknown to the _mdb_catalog</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35731">SERVER-35731</a> Prevent a repaired node from re-joining a replica set</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35782">SERVER-35782</a> Repair should move aside unsalvageable data files and create empty ones in their place</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35784">SERVER-35784</a> Fix ambiguously named test fixture in <cite>commands_test.cpp</cite></li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35800">SERVER-35800</a> resmoke.py should retry getting a build_id and test_id from logkeeper</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35985">SERVER-35985</a> sessions_test and sharding_catalog_manager_test don’t destroy all Clients before destroying the ServiceContext</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36019">SERVER-36019</a> Create script to collect resource utilization of Android application</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36069">SERVER-36069</a> Vendor mongoebench-compatible JSON config files from mongodb/mongo-perf into src/third_party</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36076">SERVER-36076</a> Create new resmoke.py test suite for running mongoebench on a desktop</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36077">SERVER-36077</a> Create new resmoke.py test suite for running mongoebench on an Android device</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36078">SERVER-36078</a> Integrate adb resource monitor into mongoebench test suite for Android</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36084">SERVER-36084</a> Remove sharding runtime from embedded</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36162">SERVER-36162</a> Powercycle - ensure internal crash command has been executed on the remote host</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36169">SERVER-36169</a> Resmoke: bare raise outside except in the stepdown hook</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36258">SERVER-36258</a> Perform construction of ServiceContext after execution of mongo initializers, not during</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36347">SERVER-36347</a> Make parse_zone_info.js handle new error message from ServiceContext refactor</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36351">SERVER-36351</a> ServiceContextMongoDTest doesn’t persist TempDir correctly</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36474">SERVER-36474</a> Cannot initiate a replica set if free monitoring is disabled at command-line</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36621">SERVER-36621</a> A call to log() in capi_test.cpp does not print to stdout</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36691">SERVER-36691</a> Only recover orphaned collection idents when starting with repair, not after an unclean shutdown</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36702">SERVER-36702</a> SCons to be able to install binaries as darwin framework</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36703">SERVER-36703</a> SCons to be able to link against darwin frameworks</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36704">SERVER-36704</a> Embedded to support logical sessions the same way as standalone mongod</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36722">SERVER-36722</a> Add remote maven repository for embedded AAR/JAR</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36725">SERVER-36725</a> periodic_runner_impl_test should manually call tearDown</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36732">SERVER-36732</a> Wait for all secondaries to be up and electable in election handoff jstests</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36747">SERVER-36747</a> Add a small time delay to “jstests/ssl/ssl_client_certificate_warning_suppression.js”</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36749">SERVER-36749</a> Remove race in Service Executor Adaptive shutdown</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36757">SERVER-36757</a> Generate and extract mongoebench-compatible JSON config files to consistent locations</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36761">SERVER-36761</a> Add requires_replication tag to disk/repair_invalidates_replica_set_config.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36768">SERVER-36768</a> Orphaned collection recovery should allow recovered collections to be renamed</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36783">SERVER-36783</a> Run the secondary_reads_passthrough task of enterprise-rhel-62-64-bit-inmem on rhel62-large</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36836">SERVER-36836</a> v4.0 fsm workload “yield_group.js” should accept “InternalError” as a possible outcome of the group command</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36842">SERVER-36842</a> Core dump not generated after invariant failure in powercycle hosts</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36869">SERVER-36869</a> fsm capped collection checks should only make 1 query for assertions</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36897">SERVER-36897</a> OplogReader.hasNext can return false -&gt; true, confusing <cite>checkOplogs</cite></li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36906">SERVER-36906</a> Connection state now allowed to be kConnectionStateUnknown</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36919">SERVER-36919</a> Add server setParameter tlsWithholdClientCertificate (bool)</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36942">SERVER-36942</a> Differentiate invalid hostname from invalid certificate</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36947">SERVER-36947</a> Enable test commands for perf micro benchmarks</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36980">SERVER-36980</a> Remove old aggregation fuzzer from evergreen</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36987">SERVER-36987</a> ChunkVersion::minorVersion truncates to 16 bit</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37013">SERVER-37013</a> mongoebench-compatible JSON config files attempt to read from views without using “find” command</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37041">SERVER-37041</a> Update eval blacklists on older branches to account for differences in tests across branches</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37042">SERVER-37042</a> Handle exceptions from cursor.next in ReplSetTest</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37071">SERVER-37071</a> Blacklist set7.js and max_doc_size.js from retryable_writes_jscore_stepdown_passthrough</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37127">SERVER-37127</a> Update baseline comparison for sys-perf</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37149">SERVER-37149</a> Remove deadlock in ScheduleBeforeStartupTest</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37156">SERVER-37156</a> benchRun should wait for the worker threads it spawns to exit</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37170">SERVER-37170</a> mongos fails to start with error ‘DuplicateKey SetWiredTigerCustomizationHooks’ on dynamic builds</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37216">SERVER-37216</a> Android Multiarch builder can’t publish to mavenLocal</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-37256">SERVER-37256</a> Add missing index_access_methods dependency to storage_wiredtiger_recovery_unit_test</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-1989">TOOLS-1989</a> Switch evergreen intensive testing to match server priority buildversions</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-2050">TOOLS-2050</a> oplog_rename_test fails on Windows due to access violation error</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-2099">TOOLS-2099</a> Tools jstests failing on replica set shutdown</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-3735">WT-3735</a> Add a workgen workload that generates a lot of page splits</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-3736">WT-3736</a> Add statistics to measure contention on lookaside cursor</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-3879">WT-3879</a> Disallow checkpoint from evicting metadata pages</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-3894">WT-3894</a> Timestamp queue implementation and statistics improvements</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4090">WT-4090</a> Low priority reads</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4104">WT-4104</a> Fix test/format failure during comparing data content with berkeley db</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4119">WT-4119</a> Avoid restarts updating / removing during a column store scan</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4131">WT-4131</a> Rename lookaside to cache overflow</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4144">WT-4144</a> Fix rollback_to_stable with lookaside history</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4154">WT-4154</a> Surface the oldest read timestamp</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4156">WT-4156</a> Add new wiredtiger_salvage top level API</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4176">WT-4176</a> Expose a WT_SESSION.query_timestamp method</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4177">WT-4177</a> Backup cursor open should force a log file switch</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4185">WT-4185</a> Don’t remove all lookaside entries when reading a page</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4211">WT-4211</a> Add automated test for long running prepared transactions</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4212">WT-4212</a> Update lookaside schema to handle prepared transactions</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4216">WT-4216</a> Use separate counters for page_swap yield and sleep</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4218">WT-4218</a> Change eviction to evict prepared updates</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4225">WT-4225</a> Automate a backup test that simulates volume snapshot via dd</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4231">WT-4231</a> Fix ctags index of functions with attributes</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4233">WT-4233</a> Change log corruption errors to warnings and truncate log</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4239">WT-4239</a> Don’t allow checkpoints to perform insert-splits in the tree</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4241">WT-4241</a> GNU-stack section should never be conditionally compiled out</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4243">WT-4243</a> Fix lookaside sweep to not remove required entries</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4246">WT-4246</a> Change transaction update list to support indirect references</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4248">WT-4248</a> Fix checkpoints in schema_abort for slow machines</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4249">WT-4249</a> Attempt to discard dirty page during verify operation</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4251">WT-4251</a> Prepared updates cannot be discarded</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4252">WT-4252</a> Btree debug functions can leak scratch buffers on error.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4253">WT-4253</a> Btree debug function to do blind reads doesn’t handle row-store internal pages</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4256">WT-4256</a> Loosen check during rollback_to_stable</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4257">WT-4257</a> Don’t assume timestamps from lookaside are aligned in memory</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4259">WT-4259</a> Restore ref to the previous state rather than MEM when eviction fails</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4261">WT-4261</a> Test salvage of out-of-sync metadata/turtle files</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4262">WT-4262</a> Lock deleted children in eviction of internal pages</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4263">WT-4263</a> Use the right tree when copying a key for a lookaside write</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4264">WT-4264</a> Compaction can race with page modifications</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4267">WT-4267</a> fixed-length column store operations can corrupt data</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4268">WT-4268</a> Random abort should wait until record files exist before starting timer</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4270">WT-4270</a> Add an operation field to know where threads hang</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4272">WT-4272</a> Increase startup timeout to 30 seconds for slow I/O systems</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4274">WT-4274</a> Fix memory leak in wt4156_metadata_salvage test</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4277">WT-4277</a> Make truncate in column stores more efficient</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4281">WT-4281</a> Shorten runtime of Python test suite</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4282">WT-4282</a> Don’t transition pages from limbo to mem unless required</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4283">WT-4283</a> Restore WT_ERROR and use a corrupt flag</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4284">WT-4284</a> Print a verbose message in recovery on error too</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4285">WT-4285</a> Fix wt4156_metadata_salvage Coverity/lint complaints</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4286">WT-4286</a> Column store should skip end-of-table checks if there’s an exact match</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4288">WT-4288</a> Don’t let return value of closing conn overwrite WT_TRY_SALVAGE</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4289">WT-4289</a> Update WT_DATA_CORRUPTION to WT_TRY_SALVAGE in test_txn19.py</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4291">WT-4291</a> Fix test_txn19.py error detection by looking for WT_ERROR</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4292">WT-4292</a> Add call to testutil_cleanup to avoid memory leak</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4300">WT-4300</a> Setting the update timestamp can overwrite the WT_REF.addr field</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4301">WT-4301</a> WT_CURSOR.reserve operations can leak memory when committed</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4305">WT-4305</a> Add a gating variable for long running prepare support</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4306">WT-4306</a> Fix mode if metadata pages need eviction</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4308">WT-4308</a> Insert split during sync should not free blocks</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4321">WT-4321</a> Disable the random direct I/O test</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4325">WT-4325</a> Add a WiredTiger-local version of the qsort(3) call</li>
</ul>
</div>
</div>
<div class="section" id="id157">
<span id="id158"></span><h2>4.0.2 Changelog<a class="headerlink" href="#id157" title="Permalink to this headline">¶</a></h2>
<div class="section" id="id159">
<h3>Sharding<a class="headerlink" href="#id159" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-14394">SERVER-14394</a> Create initial hashed shard key chunks directly on shards</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-25333">SERVER-25333</a> Clean up MigrationDestinationManager</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-27725">SERVER-27725</a> Use batch insert when migrating chunks</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-33417">SERVER-33417</a> Replace custom majority write catchup with Replication-designed write concern method in the Migration Destination Manager</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35092">SERVER-35092</a> ShardServerCatalogCacheLoader should have a timeout waiting for read concern</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35238">SERVER-35238</a> Drop the collection after removing the partially written chunks for mapReduce in mongos_manual_intervention_actions.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35441">SERVER-35441</a> drop/dropDatabase does not cleanup config.tags</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35658">SERVER-35658</a> session migration is too sensitive to replica set primary elections</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35676">SERVER-35676</a> numInitialChunks Argument is Not Validated</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35720">SERVER-35720</a> Allow zones to be created on non-existent collection</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35722">SERVER-35722</a> Create internal _shardsvrShardCollection command that runs on the primary shard</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35723">SERVER-35723</a> Make the collection critical section into a RAII class</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35794">SERVER-35794</a> Read zone information for a collection during internal shardCollection command</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35849">SERVER-35849</a> Remove dependency of the write commands on <cite>sharding_runtime_d</cite></li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36031">SERVER-36031</a> Move logic to create initial chunks and update metadata during shard collection to the primary shard</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36071">SERVER-36071</a> Check shardsvrShardCollection response status</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36092">SERVER-36092</a> Create internal command to create collection on new shard with existing uuid</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36102">SERVER-36102</a> Create initial chunks on appropriate shards for zoned sharding</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36322">SERVER-36322</a> NamespaceSerializer lock should be used for dropCollection</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36463">SERVER-36463</a> Bypass validation of a dummy signatures for isMaster on the unauthenticated connections</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36550">SERVER-36550</a> Blacklist drop_sharded_db_tags_cleanup.js in sharding_last_stable_mongos_and_mixed_shards suite</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36849">SERVER-36849</a> Disable new shard collection path on v4.0</li>
</ul>
</div>
<div class="section" id="id160">
<h3>Replication<a class="headerlink" href="#id160" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-32148">SERVER-32148</a> make NamespaceNotFound an acceptable error for emptyCapped and convertToCapped</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-32907">SERVER-32907</a> Turn heartbeat log verbosity back down in tests</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-33243">SERVER-33243</a> Improve logging when a node changes its sync source</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-33248">SERVER-33248</a> Allow choosing a sync source that we are up to date with if it has a higher lastOpCommitted</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35058">SERVER-35058</a> Don’t only rely on heartbeat to signal secondary positions in stepdown command</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35126">SERVER-35126</a> Create TxnStats class and store it on the Session</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35129">SERVER-35129</a> Create a ServerTransactionsMetrics class and store it as a decoration on the ServiceContext</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35146">SERVER-35146</a> Track total number of started transactions</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35147">SERVER-35147</a> Track total number of committed and aborted transactions in ServerTransactionsMetrics</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35149">SERVER-35149</a> Track total number of open transactions in ServerTransactionsMetrics</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35151">SERVER-35151</a> Track total number of active and inactive transactions in ServerTransactionsMetrics</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35168">SERVER-35168</a> Track information about last client to run a transaction operation on session</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35173">SERVER-35173</a> Add autocommit value to transaction sub-document of currentOp</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35174">SERVER-35174</a> Add readConcern and readTimestamp to transaction sub-document of currentOp</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35239">SERVER-35239</a> AwaitData cursor must handle getMore from client with higher lastKnownCommittedOpTime</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35246">SERVER-35246</a> Ignore NamespaceNotFound errors when running collMod during checkReplicaSet in replsettest.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35292">SERVER-35292</a> Add total number of started transactions to serverStatus</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35293">SERVER-35293</a> Add counts of active and inactive transactions to serverStatus</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35294">SERVER-35294</a> Add total number of open transactions to serverStatus</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35295">SERVER-35295</a> Add total number of committed and aborted transactions to serverStatus</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35300">SERVER-35300</a> Track total transaction duration in TxnStats</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35302">SERVER-35302</a> Add startWallClockTime to the transaction sub-document of currentOp</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35305">SERVER-35305</a> Add timeOpenMicros to the transaction sub-document of currentOp</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35308">SERVER-35308</a> Track total active time of transaction in SingleTransactionStats</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35310">SERVER-35310</a> Add timeActiveMicros and timeInactiveMicros to transaction sub-document of currentOp</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35388">SERVER-35388</a> Improve misleading error messages for aggregation stages banned in transactions</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35428">SERVER-35428</a> Add the ability to add two OpDebug objects together</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35432">SERVER-35432</a> Add a method for printing out information about a slow transaction</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35433">SERVER-35433</a> Log slow transactions when they finish</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35434">SERVER-35434</a> Track aggregate OpDebug stats in SingleTransactionStats</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35442">SERVER-35442</a> stepdown global lock acqusition should use wait time, not freeze time</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35450">SERVER-35450</a> Add information about last client to run transaction operation to currentOp for inactive transactions</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35492">SERVER-35492</a> Rename TxnStats to SingleTransactionStats</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35623">SERVER-35623</a> Send a replSetStepUp command to an eligible candidate on stepdown</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35624">SERVER-35624</a> Enable election handoff by default and update affected tests</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35695">SERVER-35695</a> Enable transactions on inMemory storage engine with a command line flag</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35742">SERVER-35742</a> Update ServerTransactionsMetrics for failed commits</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35754">SERVER-35754</a> Avoid network errors in stopSet() in catchup_takeover_one_high_priority.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35766">SERVER-35766</a> Replication commands sent in candidate’s new term can interrupt concurrent vote request</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35770">SERVER-35770</a> Running a multi-statement transaction when all WiredTiger write tickets are exhausted may lead to deadlock</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35951">SERVER-35951</a> Under PV1, ReplicationCoordinatorImpl::processReplSetFreeze for a single node RS should start an election instead of auto-winning.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35962">SERVER-35962</a> buildindexes_false_with_system_indexes.js restarts nodes and should be tagged [requires_persistence]</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36128">SERVER-36128</a> ReplicationCoordinatorImpl::fillIsMasterForReplSet should return isMaster:false while in shutdown</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36225">SERVER-36225</a> Do not hold replication mutex when calling getMinValid</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36234">SERVER-36234</a> Fix ./jstests/replsets/initial_sync_drop_collection.js to prevent using stale heartbeat info in the test.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36327">SERVER-36327</a> Use stepUp command instead of priorities as a way to designate primary nodes in tags.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36331">SERVER-36331</a> Kill running op when a transaction expires</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36461">SERVER-36461</a> Add ‘transaction’ identifier to slow transaction log output</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36592">SERVER-36592</a> Blacklist snapshot_read_kill_op_only.js workload from backup_restore.js lib</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36664">SERVER-36664</a> Use awaitReplication in read_committed_with_catalog_changes.js instead of getLastError</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36685">SERVER-36685</a> Reverse order of TransactionParticipant (Session in 4.0) and Client locks</li>
</ul>
</div>
<div class="section" id="id161">
<h3>Query<a class="headerlink" href="#id161" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-26387">SERVER-26387</a> Replace noPassthrough/indexbg2.js with test that uses failpoints</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34846">SERVER-34846</a> Covered index with collated field returns incorrect result when collation not involved in match or sort</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36239">SERVER-36239</a> MatchExpression parser query rule</li>
</ul>
</div>
<div class="section" id="id162">
<h3>Aggregation<a class="headerlink" href="#id162" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36070">SERVER-36070</a> Aggregation with $out results in error when Auditing is enabled</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36123">SERVER-36123</a> Reject $out with mode: “replaceCollection” if the output collection is sharded</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36715">SERVER-36715</a> Pushing $sort stage to query system can leave pipeline in an unstitched state</li>
</ul>
</div>
<div class="section" id="id163">
<h3>JavaScript<a class="headerlink" href="#id163" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35986">SERVER-35986</a> Stop running eval command in parallel suite on older branches</p>
</div>
<div class="section" id="id164">
<h3>Storage<a class="headerlink" href="#id164" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-32994">SERVER-32994</a> Create a script to rebuild unique indexes in right format after a downgrade</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-33740">SERVER-33740</a> Add Evergreen task for running powercycle against mobile storage engine</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35367">SERVER-35367</a> Hold locks in fewer callers of waitForAllEarlierOplogWritesToBeVisible()</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35386">SERVER-35386</a> Wait for the secondary’s majority commit point to advance before pausing batch application in secondary_reads_timestamp_visibility.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35473">SERVER-35473</a> Mobile SE: Fix writeConflictRetry loop with map-reduce jstests</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35845">SERVER-35845</a> Add tag to noPassthrough/indexbg2.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36005">SERVER-36005</a> <cite>IndexCatalogEntryImpl::_catalogIsReady</cite> is unsafe to unconditionally call.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36062">SERVER-36062</a> Mobile SE: Stop running parallel and concurrent suites on mobile variants</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36238">SERVER-36238</a> replica set startup fails in wt_cache_full.js, initial_sync_wt_cache_full.js, recovery_wt_cache_full.js when journaling is disabled</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36397">SERVER-36397</a> Embedded Server SDK Should Return Error When TTL Index Creation is Attempted</li>
</ul>
<div class="section" id="id165">
<h4>WiredTiger<a class="headerlink" href="#id165" title="Permalink to this headline">¶</a></h4>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-28734">SERVER-28734</a> Recover WiredTiger data files when lacking metadata, but have _mdb_catalog data</li>
</ul>
</div>
</div>
<div class="section" id="id166">
<h3>Operations<a class="headerlink" href="#id166" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34664">SERVER-34664</a> Commands that are unsupported in a transaction should error</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35180">SERVER-35180</a> Safeguard from setting operation session info values while in a direct client</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35617">SERVER-35617</a> Unpleasant db.enableFreeMonitoring “not master” error on newly launched mongod</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36294">SERVER-36294</a> Sum of currentActive and currentInactive not equal to currentOpen transactions</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36479">SERVER-36479</a> Log redaction does not show planSummary when slow queries are logged</li>
</ul>
</div>
<div class="section" id="id167">
<h3>Build and Packaging<a class="headerlink" href="#id167" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34393">SERVER-34393</a> Embedded transport layer should not depend on mongo internal code</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36686">SERVER-36686</a> Upgrade embedded C driver to 1.12.0</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36733">SERVER-36733</a> Rename embedded target SCons aliases</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36766">SERVER-36766</a> Add import/export macros for embedded SDK APIs</li>
</ul>
</div>
<div class="section" id="id168">
<h3>Internals<a class="headerlink" href="#id168" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-32281">SERVER-32281</a> Thread pool task executor ignores errors returned from startCommand()</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-33695">SERVER-33695</a> Include the loop name in the before and after recovery files in powertest.py</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34258">SERVER-34258</a> Error from mount_drives.sh on Windows</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34558">SERVER-34558</a> Add SSL_version to client metadata logging</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35003">SERVER-35003</a> Consider making the balancer threshold to always be 1</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35025">SERVER-35025</a> Tests depending on exact times removeShard is called are invalid</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35037">SERVER-35037</a> Create new concurrency suite that runs consecutive operations inside of a single transaction</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35056">SERVER-35056</a> Flush ready callbacks on NetworkInterfaceTL shutdown</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35100">SERVER-35100</a> Do not log a Python stack trace when a hook dynamic test fails</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35110">SERVER-35110</a> Log locations in set_feature_compatibility_version.js where fatal assertions/other errors are expected</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35215">SERVER-35215</a> Future::onError&lt;ErrorCodes::Error&gt;() to let you register a handler for a single code.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35234">SERVER-35234</a> makePromiseFuture&lt;T&gt;() to create a bound Promise and Future</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35244">SERVER-35244</a> Dropping config db in 4.0.0-rc0 fails while it passes in 3.7.9 and earlier</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35537">SERVER-35537</a> Create version of benchRun() which can be used with embedded</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35559">SERVER-35559</a> Update transaction retry functions to not call abort after commit</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35592">SERVER-35592</a> Create Java bindings for the Embedded CAPI</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35654">SERVER-35654</a> rollback_transaction_table.js fails even in WT runs</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35661">SERVER-35661</a> Add 5 second syncdelay to rollback shutdown fuzzers</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35684">SERVER-35684</a> Remove promise.getFuture()</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35706">SERVER-35706</a> Fix race in ctor for LogicalSessionCacheImpl</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35775">SERVER-35775</a> Unhelpful Message String in db.getFreeMonitoringStatus()</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35919">SERVER-35919</a> Ensure all tests that “use transactions” perform collection drops with w:majority</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35946">SERVER-35946</a> Powercycle kill_mongod function should ensure the service is not in a running state</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36001">SERVER-36001</a> Add requires_document_locking tag to noPassthrough/indexbg2.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36067">SERVER-36067</a> Upload artifacts from running install-mobile-test target in Evergreen to S3</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36069">SERVER-36069</a> Vendor mongoebench-compatible JSON config files from mongodb/mongo-perf into src/third_party</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36073">SERVER-36073</a> Save stats from BenchRunner::finish() to a JSON file in mongoebench</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36129">SERVER-36129</a> Concurrency stepdown suites should wait for replication of workload setups before starting stepdown thread</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36191">SERVER-36191</a> Cleanup logic for converting BSONElement to strings</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36245">SERVER-36245</a> Create a multi-arch android variant</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36274">SERVER-36274</a> Re-enable –ycsb-throughput-analysis in sys-perf</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36301">SERVER-36301</a> build WT with HAVE_NO_CRC32_HARDWARE on RHEL 6.7 s390x</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36399">SERVER-36399</a> Fill in tasks for Cloud nightly tests</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36406">SERVER-36406</a> db._authOrThrow should prioritize user specified authenticationMechanism instead of server’s mechanisms</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36448">SERVER-36448</a> Disable election handoff in suites that use the ContinuousStepdown hook</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36462">SERVER-36462</a> Add atlas user to runtime_secret.yml</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36466">SERVER-36466</a> Secure shutdown conditions for SpecificPool</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36623">SERVER-36623</a> Do not rebuild indexes before repairing databases</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-3276">WT-3276</a> Add recover=salvage to recover from a corrupted log file</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-3856">WT-3856</a> Create a test that runs recovery to different points of time with schema operations</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-3943">WT-3943</a> Include full error message when a python test asserts</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-3955">WT-3955</a> Add verbose option to log more messages on error returns</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-3963">WT-3963</a> Add a schema intensive abort testing</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-3968">WT-3968</a> Use compression ratio to tune page sizes</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4010">WT-4010</a> Simplify test/format timestamp handling.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4026">WT-4026</a> Add implementation for existing file extension configuration API</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4134">WT-4134</a> Rework assertion that we don’t discard required history</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4147">WT-4147</a> Log recovery should not ignore corruption outside of log records in a log file</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4160">WT-4160</a> Restore performance when timestamps are not in use</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4168">WT-4168</a> Update upgrading documentation for 3.1.0 release</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4169">WT-4169</a> Fix wt verify dump-pages failure</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4171">WT-4171</a> Enabling tree walk timing stress causes excessive slowdown</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4172">WT-4172</a> Add diagnostic hazard pointer checks in more places before freeing refs</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4174">WT-4174</a> Do not access the lookaside file in rollback_to_stable when running with in_memory=true</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4178">WT-4178</a> Fixes for wt_btree_immediately_durable needed for in-memory</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4179">WT-4179</a> Expose WiredTiger crc32c functions</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4182">WT-4182</a> Use conservative approach for log checksum errors</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4183">WT-4183</a> Extend verbose option to log more messages on error returns</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4186">WT-4186</a> Log recovery should detect and report corruption within log records</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4187">WT-4187</a> Coverity: unused value complaints</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4188">WT-4188</a> Coverity: unchecked return value complaints</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4189">WT-4189</a> Potential infinite loop in __async_flush_wait().</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4191">WT-4191</a> Fix Coverity static analysis errors</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4193">WT-4193</a> test/format snapshot-isolation search mismatch</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4194">WT-4194</a> Improve fairness of eviction with multiple tables</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4195">WT-4195</a> When encountering an illegal value, log the value that failed</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4196">WT-4196</a> Make log corruption checking work regardless of the machine byte order</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4198">WT-4198</a> Some supported MongoDB architectures don’t support crc32 hardware</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4199">WT-4199</a> Fix an incorrect report of log corruption</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4201">WT-4201</a> Fix Coverity static analysis issues</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4206">WT-4206</a> Fix error handling in cursor close routines</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4207">WT-4207</a> Coverity #1394567: null pointer dereference</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4208">WT-4208</a> tree walks can be interrupted by locked internal pages</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4210">WT-4210</a> schema abort child process failing prematurely</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4213">WT-4213</a> Rename lock statistics that have redundant or misleading text</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4215">WT-4215</a> Allow recovery of backup without salvage</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4226">WT-4226</a> test/format  LSM configurations can misconfigure prepare and timestamps</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4229">WT-4229</a> Lint</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4234">WT-4234</a> Remove documentation mention of legacy tool statlog.py</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4235">WT-4235</a> Fix workgen tracking of table state across workloads</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4242">WT-4242</a> New log file extension Python test failure</li>
</ul>
</div>
</div>
<div class="section" id="id169">
<span id="id170"></span><h2>4.0.1 Changelog<a class="headerlink" href="#id169" title="Permalink to this headline">¶</a></h2>
<div class="section" id="id171">
<h3>Security<a class="headerlink" href="#id171" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35125">SERVER-35125</a> null pointer read access violation in SSLHandshakeManager::doServerHandshake</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36027">SERVER-36027</a> Enterprise build does not recognize the –redactClientLogData flag</li>
</ul>
</div>
<div class="section" id="id172">
<h3>Sharding<a class="headerlink" href="#id172" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-33237">SERVER-33237</a> Optimize the Range Deleter speed</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-33697">SERVER-33697</a> Provide sanity check on number of cached sessions</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34897">SERVER-34897</a> Introduce parameter to control whether MongoS should automatically retry failed <cite>find</cite> commands</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35609">SERVER-35609</a> Create initial chunk on primaryShard if only writing one chunk</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35632">SERVER-35632</a> Blacklist lagged_config_secondary.js and all_config_servers_blackholed_from_mongos.js from RHEL 6.7 s390x variants</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35691">SERVER-35691</a> Make all code paths returning StaleConfig error go through the StaleConfigInfo serializer</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35711">SERVER-35711</a> Remove unused anonymous function getPersistedMaxDbVersion() from shard server catalog cache loader</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35745">SERVER-35745</a> _getNextSessionMods doesn’t include oplogReplay flag to query new oplog created during migration</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35938">SERVER-35938</a> NamespaceSerializer lock should be used for database as well as collection during createCollection</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35997">SERVER-35997</a> Await replication on config server after shardCollection in safe secondary reads tests</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36041">SERVER-36041</a> Increase the size of changelog and actionlog</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36075">SERVER-36075</a> Add comment to shard_identity_rollback.js explaining why we set the FCV to 4.0 on the shardsvr</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36132">SERVER-36132</a> Invariant that chunk migration is actually reflected in the metadata after successful commit</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36232">SERVER-36232</a> Refresh after chunk migration commit may not see the committed metadata</li>
</ul>
</div>
<div class="section" id="id173">
<h3>Replication<a class="headerlink" href="#id173" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-32088">SERVER-32088</a> ChangeStream resumeAfter does not work on sharded collections if not all shards have chunks for the collection</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34414">SERVER-34414</a> Creating a role with buildsIndexes:false node hits an fassert</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34758">SERVER-34758</a> replSetGetStatus can deadlock with initialSyncer</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35124">SERVER-35124</a> Stepdown suites with MMAP V1 often fail due to <cite>flushing mmaps</cite> taking long time</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35200">SERVER-35200</a> Speed up failure detection in the OplogFetcher during steady state replication</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35388">SERVER-35388</a> Improve misleading error messages for aggregation stages banned in transactions</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35488">SERVER-35488</a> ReplSetTest.waitForState() should ensure node has finished closing connections</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35571">SERVER-35571</a> Wait until all nodes become stable before checkOplogs</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35991">SERVER-35991</a> Turn off chaining in set_feature_compatibility_version.js</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35992">SERVER-35992</a> Secondary should have no vote in SecondaryReadsTest</li>
</ul>
</div>
<div class="section" id="id174">
<h3>Query<a class="headerlink" href="#id174" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34789">SERVER-34789</a> Using resume token from an ‘invalidate’ notification with ‘resumeAfter’ should error</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34933">SERVER-34933</a> pcre verb support</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35693">SERVER-35693</a> Parsing of $in takes quadratic time due to O(n^2) boost::flat_set constructor</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35751">SERVER-35751</a> Make kill_own_ops.js more robust</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35851">SERVER-35851</a> Consider checking whether the array passed to $in is already sorted before calling std::sort</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35929">SERVER-35929</a> Possible use-after-free when reloading the view catalog due to an invalidation</li>
</ul>
</div>
<div class="section" id="id175">
<h3>Aggregation<a class="headerlink" href="#id175" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35028">SERVER-35028</a> Add change stream notifications for collection drop and rename</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35029">SERVER-35029</a> Add change stream notification for database drop</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35084">SERVER-35084</a> change_stream_enforce_max_time_ms_on_mongos.js expects getMore to schedule follow-up getMores</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35634">SERVER-35634</a> view_catalog_cycle_lookup.js should not always assert that finds on views will succeed</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35961">SERVER-35961</a> Remove uninitialized count variable in MapReduce command</li>
</ul>
</div>
<div class="section" id="catalog">
<h3>Catalog<a class="headerlink" href="#catalog" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35563">SERVER-35563</a> The UUIDCatalog onCreateCollection observer should atomically unregister and re-register catalog entries</p>
</div>
<div class="section" id="id176">
<h3>Storage<a class="headerlink" href="#id176" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-32509">SERVER-32509</a> Mobile SE: Implement error reporting for unsupported startup options</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-32997">SERVER-32997</a> Mobile SE: Design and implement multi-reader or single-writer concurrency</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-33605">SERVER-33605</a> Mobile SE: Disable capped collections</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-33651">SERVER-33651</a> Mobile SE: Use full synchronous mode for SQLite writes</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34002">SERVER-34002</a> readConcern_snapshot.js should wait for writes to be majority-committed on secondaries before reading</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34113">SERVER-34113</a> Remove all support for snapshot reads outside of multi-document transactions</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34129">SERVER-34129</a> Don’t hold database or collection locks during oplog truncation</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34579">SERVER-34579</a> Do not populate indexDetails for mobile storage engine</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34713">SERVER-34713</a> Progressively declining dropDatabase performance</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35085">SERVER-35085</a> repair can cause spurious NamespaceNotFound errors with concurrent initial sync operations</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35317">SERVER-35317</a> restartCatalog problematically discards minVisibleSnapshot data</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35398">SERVER-35398</a> Mobile SE: Remove code for capped collection</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35671">SERVER-35671</a> DatabaseHolderImpl::closeAll can leave catalog in an incomplete state</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35704">SERVER-35704</a> Tag readConcern_snapshot.js with ‘uses_transactions’</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35789">SERVER-35789</a> check for index catalog isready mismatch for multi-doc txns</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35859">SERVER-35859</a> Disable rocksdb buildvariant</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35994">SERVER-35994</a> Reduce CPU load in secondary_reads_unique_indexes.js test</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36006">SERVER-36006</a> <cite>multiInitialSyncApply</cite> should consider setting a read timestamp of <cite>kNoTimestamp</cite></li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36025">SERVER-36025</a> RestartCatalogCommand can attempt to reinitialize oplog pointers on standalones</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36167">SERVER-36167</a> Add pretty printer for WT <cite>flags</cite> members</li>
</ul>
</div>
<div class="section" id="gridfs">
<h3>GridFS<a class="headerlink" href="#gridfs" title="Permalink to this headline">¶</a></h3>
<p><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35361">SERVER-35361</a> filemd5 command fails to safely clean up PlanExecutor after manual yield</p>
</div>
<div class="section" id="id177">
<h3>Operations<a class="headerlink" href="#id177" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-27264">SERVER-27264</a> With net.ssl.allowConnectionsWithoutCertificates: true, allow disabling no client certificate log warnings</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-32064">SERVER-32064</a> A logical session id should be included in all command requests from the mongo shell</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34160">SERVER-34160</a> Mongo client run buffered command when terminated.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35758">SERVER-35758</a> Mongo shell prompt errors when running transactions after overriding “db”</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35903">SERVER-35903</a> Free monitoring doesn’t allow disabling from the shell without enabling it first</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36010">SERVER-36010</a> Change log messages for Windows stacktraces to use error() or severe() rather than log()</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36088">SERVER-36088</a> Replica set connection strings trigger access violation on 4.0 shell + Windows</li>
</ul>
</div>
<div class="section" id="id178">
<h3>Build and Packaging<a class="headerlink" href="#id178" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-33000">SERVER-33000</a> Platform Support: add Ubuntu 18.04</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-33996">SERVER-33996</a> Don’t apply self signing until after bundling the SDK.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35600">SERVER-35600</a> Add support for armv7-k</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35901">SERVER-35901</a> Add toolchain path to lint task</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36039">SERVER-36039</a> Support LibreSSL 2.7 on FreeBSD</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36082">SERVER-36082</a> Don’t link getShardMap command into embedded</li>
</ul>
</div>
<div class="section" id="id179">
<h3>Tools<a class="headerlink" href="#id179" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-2058">TOOLS-2058</a> mongoreplay does not show OP_MSG commands</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-2062">TOOLS-2062</a> Support zlib compression in mongoreplay</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-2075">TOOLS-2075</a> mongoreplay always replays to secondary</li>
</ul>
</div>
<div class="section" id="id180">
<h3>Internals<a class="headerlink" href="#id180" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-33817">SERVER-33817</a> Powercycle test using kill mongod</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34563">SERVER-34563</a> Connect via SRV record fails if the returned record resides in subdomain</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34793">SERVER-34793</a> Add call to BF suggestion server on failed task completion</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34810">SERVER-34810</a> Session cache refresh can erroneously kill cursors that are still in use</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34956">SERVER-34956</a> big_object1.js is not resilient to unexpected stepdowns</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34984">SERVER-34984</a> Update major_version_upgrade.js test to call setFCV to the latest FCV</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-34996">SERVER-34996</a> Save console_output &amp; console_screenshot from aws_ec2.py as artifacts in evergreen.yml</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35101">SERVER-35101</a> Handle differently a badly formed bindIp argument</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35165">SERVER-35165</a> Disable and re-enable update_test_lifecycle Evergreen task on the 4.0 branch</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35188">SERVER-35188</a> Typo in ServiceLiason* types</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35263">SERVER-35263</a> Add FSM workloads for testing atomicity and isolation of updates inside a transaction across multiple collections and databases</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35312">SERVER-35312</a> Update system_perf.yml and perf.yml to compare to 3.6.5 baseline for master and 4.0</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35313">SERVER-35313</a> CleanupConcurrencyWorkloads resmoke hook needs to handle the balancer</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35383">SERVER-35383</a> Increase electionTimeoutMillis for the ContinuousStepdown hook used in stepdown suites</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35389">SERVER-35389</a> Remove dead code from old FSM suite</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35506">SERVER-35506</a> The Powercycle wait_for_mongod_shutdown function should ensure the mongod process is no longer running</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35523">SERVER-35523</a> FSMWorkloadTestCase erroneously sets TestData.sameDB=true and TestData.sameCollection=true</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35550">SERVER-35550</a> Bridge should not block listener while making outbound connections</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35578">SERVER-35578</a> Switch package tests to new package testing VPC</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35588">SERVER-35588</a> powertest.py should call replSetReconfigure command only after successful replSetGetConfig</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35627">SERVER-35627</a> Repair should re-create missing collection data files from the existing metadata</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35664">SERVER-35664</a> Run the android embedded tests on api24 system images</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35668">SERVER-35668</a> Avoid moving concurrency tests to small instances on arm64</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35675">SERVER-35675</a> find_by_uuid_and_rename.js should not fail from QueryPlanKilled when yielding during a collection rename</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35692">SERVER-35692</a> Add support to an optional re-registration bool in metrics response</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35702">SERVER-35702</a> Stop running the agg and update fuzzer on macOS</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35724">SERVER-35724</a> Remote EC2 hosts which are not accessible via ssh should fail with system error</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35727">SERVER-35727</a> make the embedded sdk compile task in to a multi-task task group.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35834">SERVER-35834</a> Fix compile errors in <cite>dns_name_test</cite> on Microsoft compilers</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35850">SERVER-35850</a> Update filename suffix to v4.0-latest for nightly builds</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35858">SERVER-35858</a> Error in call BF Suggestion service</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35908">SERVER-35908</a> Shutdown service entry point in mongoed before shutting down embedded</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35990">SERVER-35990</a> Update evergreen_task_timeout.py REQUIRED_BUILD_VARIANTS list</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-35993">SERVER-35993</a> read_concern_uninitiated_set restarts nodes so must not allow ephemeral storage</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36055">SERVER-36055</a> Mobile SE: Compact returns wrong error code on mobile</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/SERVER-36144">SERVER-36144</a> want to add an empty cloud_nightly.yml file</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/TOOLS-1991">TOOLS-1991</a> Build tools with Go 1.10.1</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-3839">WT-3839</a> Document the undefined behavior when a range truncate overlaps with inserts</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-3917">WT-3917</a> Enhance WT_CURSOR::reserve documentation around commit visibility</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4024">WT-4024</a> Fix a race between split and next/prev</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4048">WT-4048</a> Generalize timing_stress_for_test split functionality</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4067">WT-4067</a> Enhance LSM to not pin as much history in cache</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4101">WT-4101</a> Don’t abort the eviction server during session verify when oldest_timestamp is held back</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4111">WT-4111</a> Improve checkpoint scrubbing algorithm</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4125">WT-4125</a> Ensure that subsequent checkpoints with stable timestamp don’t read too much</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4133">WT-4133</a> Coverity 1393445, 1393446 Dereference before null check</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4136">WT-4136</a> Add a new timing stress flag that yields during tree search</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4138">WT-4138</a> Add an option to timeout waiting for space in the cache</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4139">WT-4139</a> rename the cursor restart statistic to match implementation</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4140">WT-4140</a> Cursor walk limits quick eviction page selection unnecessarily.</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4141">WT-4141</a> Enhance checkpoint with timestamps to unblock eviction sooner</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4143">WT-4143</a> Use WiredTiger.turtle.set if it exists but WiredTiger.turtle does not</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4145">WT-4145</a> Only include the checkpoint timestamp during checkpoints</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4146">WT-4146</a> Coverity 1393639, unused variable</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4152">WT-4152</a> Save return value for later comparison in transaction code</li>
<li><a class="reference external" href="https://jira.mongodb.org/browse/WT-4163">WT-4163</a> Lint</li>
</ul>
</div>
</div>
</div>

                
    <div id="btnv">
      <span class="btn-arrow-left">&larr; &nbsp;</span>
      <a class="btn-prev-text" href="4.0-downgrade-sharded-cluster.html" title="Previous Section: Downgrade 4.0 Sharded Cluster to 3.6"><span>Downgrade 4.0 Sharded Cluster to 3.6</span></a>
      <a class="btn-next-text" href="3.6.html" title="Next Section: Release Notes for MongoDB 3.6"><span>Release Notes for MongoDB 3.6</span></a>
      <span class="btn-arrow-right">&nbsp;&rarr;</span>
    </div>
                  <div class="footer">
                    <div class="copyright">
                      <p>&copy; MongoDB, Inc 2008-present. MongoDB, Mongo, and the leaf logo are registered trademarks of MongoDB, Inc.</p>
                    </div>
                  </div>
              </div></div>
            </div>
        </div>
    </div>
    <div class="right-column">
      <div class="wrapper"> <div id='mongodb-docs-1'>
   <script type='text/javascript'>
      googletag.cmd.push(function() { googletag.display('mongodb-docs-1'); });
   </script>
</div>
            <div class="social">
               <a class="slack-icon" href="https://slackpass.io/mongo-db?jmp=docs" title="https://slackpass.io/mongo-db?jmp=docs"><i class="fab fa-slack" aria-hidden="true"></i></a>
               <a class="twitter-icon" href="https://twitter.com/MongoDB" title="https://twitter.com/MongoDB"><i class="fab fa-twitter-square"></i></a>
               <a class="youtube-icon" href="https://www.youtube.com/user/MongoDB" title="https://www.youtube.com/user/MongoDB"><i class="fab fa-youtube-square"></i></a>
               <a class="facebook-icon" href="https://www.facebook.com/mongodb" title="https://www.facebook.com/mongodb"><i class="fab fa-facebook-square"></i></a>
               <a class="stack-overflow-icon" href="https://stackoverflow.com/tags/mongodb/info" title="https://stackoverflow.com/tags/mongodb/info"><i class="fab fa-stack-overflow" aria-hidden="true"></i></a>
            </div>
        

      </div>
    </div>
    
      <div id="rating-panel"></div>
    
    <div class="clearfix"></div>
  </div>
  

  <script type="text/javascript">
  // Bootstrap array of links that should trigger a full page reload
  window.docsExcludedNav = ['/administration', '/administration/production-checklist', '/administration/indexes-management', '/aggregation', '/applications/geospatial-indexes', '/applications/indexes', '/contributors/getting-started', '/core/2d', '/core/2dsphere', '/core/auditing', '/core/authentication', '/core/authorization', '/core/backups', '/core/read-isolation-consistency-recency', '/core/databases-and-collections', '/core/geohaystack', '/core/index-single', '/core/index-compound', '/core/index-creation', '/core/index-hashed', '/core/index-multikey', '/core/index-partial', '/core/index-sparse', '/core/index-text', '/core/index-ttl', '/core/index-unique', '/core/index-wildcard', '/core/journaling', '/core/kerberos', '/core/map-reduce', '/core/operational-segregation', '/core/query-optimization', '/core/read-preference', '/core/replica-set-architectures', '/core/replica-set-high-availability', '/core/replica-set-members', '/core/replica-set-secondary', '/core/transactions', '/geospatial-queries', '/replication', '/core/sharded-cluster-components', '/core/wiredtiger', '/core/write-operations-atomicity', '/crud', '/indexes', '/installation', '/introduction', '/mongo', '/products/bi-connector', '/reference/command', '/reference/collation', '/text-search', '/tutorial/manage-the-database-profiler', '/core/index-text', '/reference/bson-types', '/reference/configuration-options', '/reference/indexes', '/reference/method', '/reference/operator/aggregation', '/reference/operator/query', '/reference/operator/query-modifier', '/reference/operator/update', '/reference/replication', '/reference/read-concern', '/reference/security', '/reference/sharding', '/reference/write-concern', '/release-notes/2.4', '/release-notes/2.6', '/release-notes/2.8', '/release-notes/3.0', '/release-notes/3.2', '/release-notes/3.4', '/release-notes/3.6', '/release-notes/4.0', '/release-notes/4.2', '/security', '/sharding', '/changeStreams', '/core/zone-sharding', '/core/hashed-sharding', '/core/ranged-sharding', '/storage', '/tutorial/change-sharded-cluster-wiredtiger', '/tutorial/insert-documents', '/tutorial/query-documents', '/tutorial/remove-documents', '/tutorial/update-documents', '/tutorial/enable-authentication', '/tutorial/install-mongodb-on-ubuntu', '/tutorial/install-mongodb-on-windows', '/tutorial/install-mongodb-on-red-hat', '/tutorial/install-mongodb-on-debian', '/tutorial/install-mongodb-on-suse', '/tutorial/install-mongodb-on-amazon', '/tutorial/install-mongodb-enterprise-on-ubuntu', '/tutorial/install-mongodb-enterprise-on-windows', '/tutorial/install-mongodb-enterprise-on-red-hat', '/tutorial/install-mongodb-enterprise-on-debian', '/tutorial/install-mongodb-enterprise-on-suse', '/tutorial/install-mongodb-enterprise-on-amazon', '/tutorial/install-mongodb-on-os-x'];
  </script></body>
</html>